我查看的时候,发现<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="" /> 请问是如何实现的呢?我设EnableViewState为false,运行查看还有有一点值,保存在客服端好像也是不行,郁闷啊!~请问大侠们怎么实现的呢
2 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
因为<input name="__VIEWSTATE" />里面存放的不仅有ViewState的信息,还有ControlState的信息。 ViewState信息可以禁用,但是ControlState是禁用不了的,只要你用了设置有ControlState的服务器控件,页面一般就会有信息放入__VIEWSTATE中。
之所以博客园的干净,是因为它家很少用到复杂的服务器控件。
你用Reflector查看下System.Web.UI.Control类中的虚方法 SaveControlState();,然后看看GridView和Literal中对它的重写就明白之间的区别了。理论上Literal直接继承这个方法,不重写。因为默认的State是空的。 GridView中则重写了这个方法,保存了一些信息到ViewState中。
- 2 回答
- 0 关注
- 540 浏览
添加回答
举报
0/150
提交
取消