標籤:
一、內建對象
(一)Response - 響應請求對象
1.定義:Response對象用於動態響應用戶端請示,控制發送給使用者的資訊,並將動態產生響應。Response對象只提供了一個資料集合cookie,它用於在用戶端寫入cookie值。若指定的cookie不存在,則建立它。若存在,則將自動進行更新。結果返回給用戶端瀏覽器。
Response.Redirect("url");
如:
Response.Redirect("zhu.aspx");
Response.Write("");
如:
Response.Write("<script>"); Response.Write("alert(‘註冊成功!‘);"); Response.Write("window.location.href=‘denglu.aspx‘;"); Response.Write("</script>");
(二)Request - 擷取請求對象
Request["key"] - 預設返回的就是string類型
來擷取傳遞過來的值,Request對象的作用是與用戶端互動,收集用戶端的Form、Cookies、超連結,或者收集伺服器端的環境變數。
(三)Session 相對全域對象
在不同的瀏覽器之間傳值,像銀行之類的網站為了安全把使用者名稱密碼儲存在session裡面。每一台電腦訪問伺服器,都會是獨立的一套session,key值都一樣,但是內容都是不一樣的。
賦值:Session["key"] = 值;
在另一個網頁取值:首先先要判斷Session["key"] 是不是null,不是的話取值,否則定向到原網頁
string a = Session["key"];
優缺點:
Session是非常安全的,因為它存在於伺服器的記憶體中,取資料也是最快的;但是,Session不要濫用,因為會造成伺服器記憶體溢出,導致伺服器崩潰
Session裡面不要放大東西,如果不用那麼就會造成資源浪費。
Session生命週期:20分鐘
(四)Cookies
賦值: Response.Cookies["key"].Value =值;
取值: Request.Cookies["key"].Value;
Cookies裡面可以存內容,但是存的只能是字串
Cookies可以持久也可不持久,取決於使用者佈建的生命週期: Response.Cookies["key"].Expires = DateTime.Now.AddDays(7);//儲存7天
問題:如果傳的是中文會亂碼
解決方案:
string a = HttpUtility.UrlEncode(值, System.Text.Encoding.GetEncoding("utf-8"));Response.Cookies["key"].Value = a;Response.Redirect("Default2.aspx");
if (Request.Cookies["user"] != null) 解碼{string a = HttpUtility.UrlDecode(Request.Cookies["key"].Value, System.Text.Encoding.GetEncoding("utf-8"));Label1.Text = a;}
(五)Application
它是全域對象,全域只有這一個對象
只要被建立出來,所有人取的值都是一樣的
生命週期:永久
儲存位置:服務端
賦值:Application["key"]=值;
取值:Application("key");
(六)ViewState(瞭解)
理解成為病例
類似於中間過程,由於網頁的不固定性,點擊按鈕會重新整理,控制項賦得值藉助iewstate儲存,把重新整理前的值儲存成專門代碼。重新整理後再賦值給控制項
WebForm 內建對象