HTTP是一種無狀態協議。當客戶端斷開與ASP。網絡服務器ASP。網discards the page object.
必須有一種技術來收集請求之間的信息並在需要時檢索它。
ASP。網has four types of state:
- 視圖狀態
視圖狀態是頁麵的狀態。當一個頁麵被發送回給用戶時,屬性中的所有更改都會被檢查並存儲在_VIEWSTATE中。
Viewstate可以啟用或禁用:
- 整個應用程序在頁麵上啟用viewstate屬性
- 頁麵設置啟用視圖狀態屬性。
- 一個通過設置控件的控件。
- 控件狀態
控件狀態無法修改,訪問o可能被禁用。 - 會話狀態
當用戶連接到ASP。網websites a new session object is created every time. When the session is turned on a session state object is created for a new request. Session state is commonly used for storing application data, inventory, supplier list, custom records, etc.
HTTP會話有以下方法
- 添加(名稱,值)——向會話狀態集合添加項
- 清除—從會話集合中刪除所有項
- Remove(name)—從會話集合中刪除指定的項
- 刪除全部—從會話狀態中刪除鍵和值
- RemoveAt-從會話狀態中刪除指定索引上的項。
- 應用程序狀態
這是所有網頁、代碼和其他文件的集合。當信息被存儲時,所有用戶都可以使用它。ASP。網creates a state object for each application from HTTPApplicationState.The object is declared in global.asax page.