【发布时间】:2013-07-02 14:54:31
【问题描述】:
我注意到,即使我在应用程序级别(<pages enableViewState="false"/>)或页面级别(页面属性中的EnableViewState="false")禁用 ViewState,您仍然可以在页面源中找到 viewstate 的隐藏字段:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="NSe2ZpTF4OoGVDqwwtGVO+/liqfw9gUFmsPSD0n169Su3I6VwhG8xgVaSe0iTUfiPp1x0FbW9q47hkfxgDCvxjd2Z9RKo7N+WljNcEezg4Q=" />
为什么在这种情况下它仍然存在? ASP.net 里面存储了什么?
【问题讨论】:
-
自己寻找 :-) ignatu.co.uk/ViewStateDecoder.aspx(关于它存储的内容)
-
您使用母版页吗?这可能是您的按钮控件的验证数据,以避免入侵页面。
-
@davidkonrad 它说:无法解码视图状态。错误是:“序列化数据无效。”
-
@Aristos 不,没有母版页。我创建了 emtpy web 应用程序,然后从模板添加页面并在其上放置了单个下拉列表。
-
对不起。也许您上面的视图状态在base64之后以某种方式加密?无论如何,它通常可以工作。我不是 ASP'er,但使用此工具查看视图状态包含的内容。请将此用于解释stackoverflow.com/a/2305310/1407478
标签: asp.net webforms viewstate