2015年1月13日 星期二

VS 2012 C# ViewState筆記 -- 20150113

ViewState原理:

在同一網頁前後連線間保留狀態的方法,在網頁載入前,會「還原連線狀態」,意指會讀取ViewState,然後一一還原控制項或變數的屬性與內容。(20151127)



ViewState(檢視狀態):

功能:保存網頁上的資料,當網頁觸發PostBack時,資料不會消失。

※有時候網頁程式可能需要某些資料持續保留,以便讓後續的連線可以使用,故使用ViewState來紀錄資料。此外,可利用ViewState儲存網頁上各控制項的狀態或程式內部所需的資料,因ViewState是使用網頁內的隱藏欄位來儲存狀態,所以ViewState的使用將導致網頁大小的增加連帶影響使用者連線網頁的速度。

舉例:
  1. 在網頁TextBox欄位中輸入某值,當PostBack發生後,剛所輸入的值還出現在TextBox欄位中。
  2. 在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 從零開始 (博碩文化)

沒有留言:

張貼留言