首页 新闻 会员 周边 捐助

ViewState的value=""

0
悬赏园豆:20 [已关闭问题]

我查看博客圆的时候,发现<input type="hidden" name="__VIEWSTATE" id="
__VIEWSTATE" value="" />  请问是如何实现的呢?我设EnableViewState为false,运行查看还有有一点值,保存在客服端好像也是不行,郁闷啊!~请问大侠们怎么实现的呢

DishBirder的主页 DishBirder | 初学一级 | 园豆:22
提问于:2009-05-19 16:50
< >
分享
其他回答(1)
0

把VIEWSTATE存服务器上就行了。Page.SavePageStateToPersistenceMedium(object)

Azuresong | 园豆:3565 (老鸟四级) | 2009-05-19 17:27
0

因为<input name="__VIEWSTATE" />里面存放的不仅有ViewState的信息,还有ControlState的信息。 ViewState信息可以禁用,但是ControlState是禁用不了的,只要你用了设置有ControlState的服务器控件,页面一般就会有信息放入__VIEWSTATE中。

之所以博客园的干净,是因为它家很少用到复杂的服务器控件。

你用Reflector查看下System.Web.UI.Control类中的虚方法 SaveControlState();,然后看看GridView和Literal中对它的重写就明白之间的区别了。理论上Literal直接继承这个方法,不重写。因为默认的State是空的。 GridView中则重写了这个方法,保存了一些信息到ViewState中。

Hunts.C | 园豆:266 (菜鸟二级) | 2009-05-19 23:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册