ASP.NET 伺服器處理完請求即結束任務,不保留請求間的資料。為實現前後銜接操作(如取得文字方塊舊值與新值),ASP.NET 透過視圖狀態機制:將狀態資訊經哈希、壓縮、編碼後存於隱藏欄位 __VIEWSTATE,每次回發往返傳遞,處理完畢後更新隱藏欄位隨頁面返回客戶端。
視圖狀態支援基本型別(字串、數字、布林、日期、位元組、陣列)及集合(ArrayList、Hashtable 等優化),自定義型別預設用二進位序列化,複雜物件建議用 TypeConverter 提升效能。
為提升效能,可停用頁面或控件的 EnableViewState。但某些控件(如選項卡的選中索引)需保留邏輯狀態,ASP.NET 2.0 引入不可禁用的控件狀態解決此問題。
開發者主要透過三種方式使用視圖狀態: