欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » ASP.Net » 正文

热门阅读

关于ViewState存储方法与存储位置详解

创建时间:2011年08月25日 11:05  阅读次数:(5603)
分享到:
估计很多刚接触Asp.Net的朋友对.Net页面中_VIEWSTATE中的一大串加密字符头痛不已,这些字符严重影响了我们网页的加载速度,这些都是微软为了保持页面发回时的数据状态而添加的一种机制。当然,也有朋友会说,这有什么关系呢,我把页面或者控件的EnableViewState设置为False不就没有这些烦心的字符了么?当然,如果你的页面允许你关闭它,我们更加提倡你关闭它。但是,关闭它会来了一些不便之处,比如Button按钮的某些事件就不能用了,ViewState[""]也不能用了。

从Asp.Net2.0后,微软增加了改变VIEWSTATE存储方式与位置的功能,本章,我们就来讨论VIEWSTATE存储方式的问题。

Asp.Net2.0以前,VIEWSTATE都是以HiddenField的形式存在页面中的,2.0后,微软新增了PageStatePersister属性,让程序员可以选择是将VIEWSTATE存在页面中,还是以Session的形式存在服务器中。

使用方法,重写页面的PageStatePersister属性即可。

示例代码如下:
将VIEWSTATE存在页面中,也是Asp.Net的默认形式
protected override PageStatePersister PageStatePersister
{
get
{
return new HiddenFieldPageStatePersister(this);
}
}


将VIEWSTATE以Session的形式存在服务器中
protected override PageStatePersister PageStatePersister
{
get
{
return new SessionPageStatePersister(this);
}
}


你自己还可以自定义VIEWSTATE的存储位置,有兴趣的朋友可以在网上搜索自定义VIEWSTATE存储位置的方法。

注意:将VIEWSTATE存储的Session中,经常会因为Session丢失而造成VIEWSTATE中的信息也丢失,编辑曾多次碰到这种情况。

关于Session丢失的详解,请参看本站:Session丢失的解决办法&
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 56+72=? 的结果(结果是:128)
结  果: