2010-05-14 30 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

相关问题