我想删除ASP.NET页面中的这些隐藏字段。或者更改名称或确保服务器代码忽略它们。
(我知道我会放弃一些功能,但我认为处理它比删除'runat = server'更好。我唯一担心的是Updatepanel,我真的需要它)
(以上内容已完成,further background is here )
答案 0 :(得分:1)
据我所知,你无法完全摆脱ViewState - 即你无法摆脱名为__VIEWSTATE的隐藏输入字段。
禁用ViewState时,控件仍可以访问ControlState。 ControlState实际上存储在ViewState中,因此它会在__VIEWSTATE隐藏字段中结束。
因此,关闭整个页面的ViewState只会使这个隐藏的字段变小 - 它不会完全消除它。
我相信.NET也会在其中放入少量自己的秘密信息,所以如果你真的破解它并覆盖页面完全摆脱这个隐藏字段的方式,你可能会发现你的网站停止了工作
答案 1 :(得分:1)
您也可以从aspx中删除“form”标签,但服务器控件回发将无效。 我在Ajax加载的popup.aspx中使用了这个并显示OK。
答案 2 :(得分:0)
你还没有提到让你困扰的ViewState到底是什么以及为什么要忽略这个字段,所以在不了解问题的背景下很难提供更好的解决方案。
您可以通过将Page指令的EnableViewState
属性设置为false来在页面级别禁用ViewState。
<%@ Page enableViewState="false" %>
或者,您可以通过将相应控件的EnableViewState
属性设置为false来关闭ViewState for Server控件。