即使我在页面级别设置了 EnableViewState="false",我也看到 __VIEWSTATE 字段被渲染。如果我删除表单元素的 runat="server" 标记,则不会呈现此字段。有人可以解释一下吗?
Krishna Kumar
问问题
6385 次
2 回答
17
__VIEWSTATE 字段也用于存储控制状态,它不是可选的。此外,如果我没记错的话,视图状态中包含的信息用于验证回发(并且启用了验证,这是默认设置)。因此,只要您拥有带有 runat="server" 的表单,您就会拥有一个 viewstate 字段。但是,如果禁用所有视图状态,您应该会注意到字段大小要小得多。
于 2008-11-12T05:51:45.877 回答
0
提示:在 Asp.net 中,如果您需要完全去除 __VIEWSTATE,请覆盖 Page.Render 方法,将页面呈现为字符串,并从中去除 __VIEWSTATE 文本。
于 2009-07-07T01:23:50.177 回答