1. 程式人生 > >View State的作用和實現方式

View State的作用和實現方式

簡答:View State是微軟實現的快取機制。
有點類似以前的表單中的隱藏控制元件。當 asp.net 執行某個頁面時,該頁面上的 viewstate 值和所有控制元件將被收集並格式化成一個編碼字串,然後被分配給隱藏窗體欄位的值屬性(即 <input type=hidden>)。由於隱藏窗體欄位是傳送到客戶端的頁面的一部分,所以 viewstate 值被臨時儲存在客戶端的瀏覽器中。如果客戶端選擇將該頁面回傳給伺服器,則 viewstate 字串也將被回傳。
ViewState 在 ASP.NET 中有個重要的角色。如果使用恰當,它能夠簡化頁面開發,改進使用者與站點的互動。如果置之不理,它能夠顯著增加站點響應大小,在連線速度慢的情況下,使您的響應時間更加緩慢。
ViewState 為 ASP.NET 開發人員解決了一個特定問題 — 保留伺服器端不形成元素的控制元件的狀態。
ViewState 完成基於控制元件的程式設計模型。如果沒有 ViewState ,一些控制元件(如文字框和下拉列表)在 POST 請求期間保持狀態,而其他控制元件不保持,使用這些狀態各異的控制元件記錄一些特殊的情況是令人沮喪的體驗。使用 ViewState ,開發人員能夠專注於程式設計模型和使用者介面,而不用擔心狀態保持。還能對 ViewState 進行雜湊或加密,以防止使用者篡改或解碼。
用 ASP.NET 2.0 可以改進ViewState 加快網站速度,
儲存一些變數或其他物件,當頁面重新整理後可取出所儲存的資料。
ViewState("XXXX")=物件/變數.....
XXXXXXX=ViewState("XXXX").ToString()