秉持著被提出有意思的東西就想去探索的好奇心,
就該好好了解.NET上被我忽視的ViewState!
(要不是有人指點,真不知要造成多少負擔....)
當然先去看MSDN多多了解一下
簡而言之,ViewState是用來儲存網頁上伺服器控制項的資訊
用來比較及檢查資料(例如觸發xxxxChange事件)
只要form標籤上有標明runat=server
就會自動加上一段<input type="hidden" name="__VIEWSTATE" value="">
裡面的資料都會經過編碼(非加密)
好處:
壞處:
有很多時候網頁或控制項只是為了呈現資料:
這些情況就可以去調整關閉ViewState
透過控制項上的EnableViewState屬性可以變更是否儲存ViewState
但是有些控制項因為實作了 IPostBackDataHandler 這個東東
所以還是會保存網頁上控制項的狀態值
畢竟檢查狀態的機制不只有 LoadViewState
還有 LoadPostData 撐腰!!
多花點時間調整與檢查,可以使得網頁更有效率!!(當然要先了解這東西才行阿)
補充一下,這邊講的就是微軟MSDN這一段 --
ASP.NET 效能概觀
http://msdn.microsoft.com/zh-tw/library/cc668225(v=vs.110).aspx