4

我注意到,即使我在应用程序级别(<pages enableViewState="false"/>)或页面级别(EnableViewState="false"在页面属性中)禁用 ViewState,您仍然可以在页面源中找到视图状态的隐藏字段:

     <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="NSe2ZpTF4OoGVDqwwtGVO+/liqfw9gUFmsPSD0n169Su3I6VwhG8xgVaSe0iTUfiPp1x0FbW9q47hkfxgDCvxjd2Z9RKo7N+WljNcEezg4Q=" />

为什么在这种情况下它仍然存在?ASP.net 在其中存储了什么?

4

1 回答 1

3

请注意,从 Asp.Net 2.0 开始,__VIEWSTATE隐藏字段不仅是存储ViewState,而且是ControlState.

控制状态类似但独立于常规视图状态。控件状态无法关闭,因此如果您的页面上有任何需要控件状态的控件,则会导致__VIEWSTATE隐藏字段出现在呈现的标记中。

有关控件状态的更多信息,请参阅MSDN 上的此页面。

于 2013-07-04T14:58:04.913 回答