我瞭解使用View狀態。任何談論視圖狀態的材料都解釋了它的需求和使用。但是,每個控制級別/頁面級別都提供了一個選項來禁用它。需要禁用Viewstate
在什麼情況下我們可能想要禁用頁面或控件的視圖狀態?
從網上資料,我讀了,
如果頁面沒有任何動態數據,數據要往返,我們可以禁用ViewState中之間持續 。
我同意這種說法,但是這樣做的優點是什麼?我們從中得到什麼?
我瞭解使用View狀態。任何談論視圖狀態的材料都解釋了它的需求和使用。但是,每個控制級別/頁面級別都提供了一個選項來禁用它。需要禁用Viewstate
在什麼情況下我們可能想要禁用頁面或控件的視圖狀態?
從網上資料,我讀了,
如果頁面沒有任何動態數據,數據要往返,我們可以禁用ViewState中之間持續 。
我同意這種說法,但是這樣做的優點是什麼?我們從中得到什麼?
一些頁面有很大的視圖狀態。因此,它需要時間來回發送,服務器上的負載更多,網絡流量更多等。不需要太多時間,所以通過縮小視圖狀態,您的應用程序將更快。
採取注有時甚至完全禁用ViewState中會產生還是因爲控制需求的一小所需的視圖狀態,但它可以大大降低。我已經看到viewstates每頁進入200kb。
由於頁面必須呈現ViewState中的客戶端可以加快加載時間,如果的ViewState被禁用。
大約在淨引入記得的故障排除這是加載緩慢的頁面時,頁面被渲染相當大電網所有這些都被保存到ViewState中。從ViewState中刪除數據產生了很大的不同。
實際上,只需禁用ViewState加密即可提高性能,但這不是一個好的安全措施。
ViewState呈現爲網頁中的隱藏輸入字段。這會使頁面加載速度更慢,並且使後貼緩慢,因爲ViewState必須與其他所有內容一起發佈。
因此,如果禁用ViewState,您的頁面將執行得更快。快多少?很難說。
一般來說,如果您不需要ViewState,請將其禁用。
還要注意,即使禁用ViewState中,仍然會有一個隱藏的控制與數據量小是neccessary爲.NET。
當我顯示信息或錯誤信息給用戶作爲ASP:標籤或ASP:文字控制,我幾乎總是設置的EnableViewState爲false,因爲他們幾乎總是隻適用於一個給定的後背部。將EnableViewState設置爲false意味着我永遠不必在我的代碼隱藏中編寫此代碼:
lblSomethingWentWrong.Text = string.Empty;