asp.net中有多個內置對象
1.request實際上是對客戶端發送到服務器信息的封裝,還包括了些服務器自身的信息,故request可用在以下幾個方面:
(1)獲取瀏覽器信息;
(2)獲取表單數據;
(3)獲取查詢字符串;
(4)獲取服務器變量。
2.response實際上是封裝了從服務器傳送到客戶端的信息,將有一下幾個方面的應用:
(1)輸出文本;
(2)輸出腳本;
(3)輸出圖像;
(4)頁面跳轉。
在頁面跳轉中注意與server.transfer方法區別,response跳轉後,瀏覽器的地址欄顯示新網頁的地址,而server跳轉後,瀏覽器的地址欄顯示的是舊網頁的地址。
3.在asp.net中有以下可用的狀態保存:
(1)視圖狀態;
(2)隱藏域;
(3)cookie;
(4)查詢字符串;
(5)應用程序狀態;
(6)會話狀態;
(7)配置文件屬性;
前4個狀態將存儲在客戶端,而後三個狀態將存儲在服務器端。
(1)視圖狀態(ViewState)是asp.net網頁框架用於在往返過程之間保留網頁與控件值的默認方法。用戶可以在代碼中使用ViewState屬性訪問和使用視圖狀態。ViewState屬性是一個包含鍵/值對的字典。
(2)隱藏域相當於隱藏的控件,注意提交時必須用post,如果用的是Get隱藏域將不可用。
(3)Cookie是一小段文本信息,伴隨着用戶請求和頁面在web服務器和瀏覽器之間的傳遞:
創建Cookie
HttpCookie aCookie=new HttpCookie("userInfo");
aCookie.Values["userName"]="jay";
aCookie.Values["lastVisit"]=DateTime.Now.ToString();
aCookie.Expires=DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie);
讀取Cookie
if(Request.Cookies["userInfo"]!=null)
{ Label1.Text=Server.HtmlEncode(Request.Cookies["userIofo"]["userName)
Label2.Text=Server.HtmlEncode(Request.Cookies["userInfo"]["lastVisit"])
}
刪除Cookie
HttpCookie aCookie=Request.Cookies["userInfo"];
aCookie.Expires=DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
(5)應用程序狀態:在用戶初次訪問應用程序中的資源時,將會創建HttpApplicationState實例--Application,應用程序狀態將數據存儲爲object數據類型。直接使用Application進行調用。
(6)會話狀態(Session)將來自限定時間範圍的同一瀏覽器的請求標誌爲一個會話,並提供用於在該會話持續期間內保留變量值的方法。