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

Asp.net 完全禁用Web应用程序的视图状态,asp.net,webforms,viewstate,Asp.net,Webforms,Viewstate,我注意到,即使我在应用程序级()或页面级(EnableViewState=“false”)禁用了ViewState,您仍然可以在页面源中找到ViewState的隐藏字段: <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="NSe2ZpTF4OoGVDqwwtGVO+/liqfw9gUFmsPSD0n169Su3I6VwhG8xgVaSe0iTUfiPp1x0FbW9q47hkfxgDCvxjd2Z9RK

我注意到,即使我在应用程序级(
)或页面级(
EnableViewState=“false”
)禁用了ViewState,您仍然可以在页面源中找到ViewState的隐藏字段:

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


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

请注意,自ASP.net 2.0以来,
\uu VIEWSTATE
隐藏字段不仅存储
VIEWSTATE
,而且还存储
ControlState

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


有关控件状态的更多信息,请参见。

自己查找:-)(关于它存储的内容)您使用母版页吗?这可能是您的按钮控件的验证数据,以避免对页面进行黑客攻击。@davidkonrad它说:无法解码视图状态。错误是:“序列化数据无效”。@Aristos Nope,没有母版页。我创建了emtpy web应用程序,然后从模板中添加页面,并在其上删除了单个dropdownlist.Sry。也许上面的viewstate在base64之后被加密了?不管怎样,它正常工作。我不是ASP'er,但使用此工具查看viewstate包含的内容。请听我解释