完全禁用Web应用程序的视图状态

时间:2013-07-04 14:39:00

标签: asp.net webforms viewstate

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

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

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

1 个答案:

答案 0 :(得分:3)

请注意,自Asp.Net 2.0起,__VIEWSTATE隐藏字段不仅存储ViewState,还存储ControlState

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

有关控制状态的详细信息,请参阅this page on MSDN