2010-05-14 52 views
6

我有一個ASP.NET 4.0 webforms站點,其中包含MasterPage,因此它被設置爲ViewStateMode="Disabled",並設置了類似的內容佔位符。ViewStateMode已禁用,但仍然獲取ViewState元素

當我查看我的頁面時,仍然會看到呈現的ViewState字段,然後嘗試將ViewStateMode =「Disabled」添加到頁面級別,但這並沒有改變任何內容。

回答

15

我不知道ViewState對框架4的最新更改,但您必須考慮呈現給客戶端的ViewState字段有兩個組件:ViewState本身和ControlState。

無論您是否啓用了ViewState,ControlState總是發送到viewstate字段上的客戶端。

因此,您可以期望大幅減少發送到客戶端的視圖狀態字段的大小,但不能完全刪除它。

控制狀態包含控件需要在回發期間持續存在的最小事情,以便按預期工作。

控制狀態

除了查看狀態,ASP.NET支持控制狀態。即使頁面或控件的視圖狀態被禁用,頁面也會使用控件狀態來持久保留控件信息,這些控件信息必須在回發之間保留。與查看狀態一樣,控制狀態存儲在一個或多個隱藏字段中。

http://msdn.microsoft.com/en-us/library/bb386448.aspx

+0

我不知道這是不是ViewState的單獨處理。 – 2010-05-14 12:48:45

相關問題