为什么即使我将EnableViewState设置为false,也会呈现__VIEWSTATE隐藏字段

时间:2008-11-12 04:52:58

标签: asp.net asp.net-mvc viewstate

我看到即使我在页面级别设置了EnableViewState =“false”,也会呈现__VIEWSTATE字段。如果我删除表单元素的runat =“server”标记,则不会呈现此字段。有人可以解释一下吗?

2 个答案:

答案 0 :(得分:17)

__VIEWSTATE字段还用于存储控件状态,这不是可选的。此外,视图状态中包含的信息用于验证回发,如果我没有弄错(并且启用了验证,这是默认值)。因此,只要您拥有runat =“server”的表单,就会有一个viewstate字段。但是,如果禁用所有视图状态,则应注意字段大小要小得多。

答案 1 :(得分:0)

提示: 在Asp.net中,如果您需要完全删除__VIEWSTATE,请覆盖Page.Render方法,将页面呈现为字符串,并从中删除__VIEWSTATE文本。