1、Session 與 Cookies
簡介:由于網路請求是無狀態的,Session和Cookie就是用來解決這個問題的。
原理:瀏覽器第一次請求服務器的時候,服務器就會在記憶體中開辟一塊區域來
創建Session,用于保存與當前瀏覽器的會話內容,在創建Session的同
時會為該Session分配一個SessionID,回應瀏覽器的請求的同時把SessionID
回傳給瀏覽器,瀏覽器就會在Cookies中保存SessionID,從第二次及以后
的請求都會攜帶對應的SessionID,這樣就保證了請求與回應的一致性。
Session:
保存:Session[“key”] = data;
說明:key:資料保存在Session 中的名稱,獲取的時候需要對應的名稱才能獲取到
資料。data:代表需要保存的資料
獲取:var data = Session[“key”];
注意:所有保存到Session的資料都會變為object型別的資料,所以獲取的時候需
要進行資料型別轉換
例:string name = “張三”; //資料
Sesssion[“name”] = name ; //保存資料
string name = Session[“name”].toString(); //獲取資料
Cookie:
保存://1、宣告一個Cookie物件,設定名稱,獲取的時候需要對應的名稱才能獲取
HttpCookie cookie = new HttpCookie(“test”);
//2、保存資料
string name = “李四”;
cookie[“name”] = name ;
//3、設定Cookie的有效期(根據實際情況設定)
cookie.Expries = DateTime.Now.AddDays(1);
//4、通過回應把宣告的cookie添加(回傳)到瀏覽器中Cookies中
Response.Cookies.Add(cookie);
獲取://1、從請求攜帶的Cookie中,獲取需要的cookie
HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies[“test”];
//2、判斷獲取的cookie是否為空
string name = “”;
If(cookie != null){
//3、獲取資料,由于Cookie只能保存字串型別的資料,所以保存在
Cookie中的字串有可能會被編碼,所以獲取資料的時候需要解
碼,不能直接獲取
name = System.Web.HttpContext.Current.Server.UrlDeCode(cookie[“name”]);
}
2、viewData 與 viewBag
注意:viewData 與 viewBag只有在回傳視圖的方法內才能使用
viewData:
保存:string name = “張三”;
viewData[“name”] = name;
獲取:@viewData[“name”].toString();
說明:保存到viewData中的資料都會變為object型別的資料,所以獲取資料時需要
進行資料型別轉換。
viewBag:
保存:string name = “李四”;
viewBag.name = name;
獲取:@viewBag.name;
說明:保存到viewBag中的資料,保存的時候是什么資料型別就是什么資料型別,
獲取資料時不需要進行資料型別轉換。
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/13705.html
標籤:非技術區
上一篇:jsp多檔案下載運行時400報錯
