ViewStateMode已禁用但仍获取ViewState元素

时间:2010-05-14 12:30:00

标签: asp.net webforms .net-4.0

我有一个ASP.NET 4.0 webforms网站,其中我有MasterPage,因此设置为ViewStateMode="Disabled"以及类似地设置内容占位符。

当我查看我的页面时,我仍然会看到呈现的ViewState字段,然后我尝试将ViewStateMode =“Disabled”添加到页面级别,但这并没有改变任何内容。

1 个答案:

答案 0 :(得分:15)

我不知道框架4的ViewState的最新更改,但您必须考虑到呈现给客户端的ViewState字段有2个组件:ViewState本身和ControlState。

无论您是否启用了ViewState,ControlState始终会在viewstate字段上发送给客户端。

因此,您可以期望大幅减少发送到客户端的viewstate字段的大小,但不能完全删除它。

控件状态包含控件需要在回发中保留的最小值,以便按预期工作。

  

控制状态

     

除了视图状态,ASP.NET还支持控件状态。该页面使用控制状态来保留必须在回发之间保留的控制信息,即使对页面或控件禁用了视图状态也是如此。与视图状态一样,控制状态存储在一个或多个隐藏字段中。

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