在同一網頁前後連線間保留狀態的方法,在網頁載入前,會「還原連線狀態」,意指會讀取ViewState,然後一一還原控制項或變數的屬性與內容。(20151127)
ViewState(檢視狀態):
功能:保存網頁上的資料,當網頁觸發PostBack時,資料不會消失。
※有時候網頁程式可能需要某些資料持續保留,以便讓後續的連線可以使用,故使用ViewState來紀錄資料。此外,可利用ViewState儲存網頁上各控制項的狀態或程式內部所需的資料,因ViewState是使用網頁內的隱藏欄位來儲存狀態,所以ViewState的使用將導致網頁大小的增加連帶影響使用者連線網頁的速度。
舉例:
- 在網頁TextBox欄位中輸入某值,當PostBack發生後,剛所輸入的值還出現在TextBox欄位中。
- 在DataGrid中切換分頁時,都可保存DataGrid上(在Client Side端)所有的資料,不需要每更換一次分頁,就從撈一次資料庫,可節省系統的資源。
優點:
不需要使用Server的資源來記錄資訊,可減輕Server負擔,改善網站執行效率。
缺點:
網站不安全,資料量多的話,影響傳輸的效率,也會造成網頁Load時間會較久,且資料會被使用者檢視或者攔截。
公式:
ViewState[ " 變數名稱 " ] = 變數值
備註:
關閉Page(網頁)ViewState功能時,發現某個控制項運作不正常,可單獨將該控制項的ViewStateMode的屬性設為Enabled(啟用),即可。(20151130)
參考網址:
http://yan3776.pixnet.net/blog/post/11094909-viewstate%E7%9A%84%E9%81%8B%E7%94%A8
參考書籍:
ASP.NET 4.0 -使用C#2012 從零開始 (博碩文化)
沒有留言:
張貼留言