Web 表單頁面每次回發都會重新建立類別實例,頁面與控制項資訊若不主動保存將遺失。狀態管理即在多個請求間維護狀態與頁面資訊的過程。
| 技術 | 儲存位置 | 容量 | 安全性 | 適用場景 |
|---|---|---|---|---|
| ViewState | 頁面隱藏欄位 (Base64) | 單頁面 | 可啟用 MAC 驗證防篡改 | 控制項屬性、頁面級資料 |
| ControlState | 頁面隱藏欄位 | 單控制項 | 不可關閉,較安全 | 自訂控制項核心運作資料(如 Tab 索引) |
| HiddenField | 頁面隱藏欄位 | 單一值 | 明文,易竄改 | ViewState/Session 不可用時的備援 |
| Cookie | 用戶端硬碟 | 4KB/個 | 可設 HttpOnly/Secure | 跨頁面、跨會話的用戶偏好/身分識別 |
| QueryString | URL | ~2KB (IE) | 明文,極易竄改 | 頁面間簡單非敏感參數傳遞 |