ViewState VS. Session
viewstate和session都是用来来保存信息.有着不同点
cs代码中ViewState用法:
private void Page_Load(object sender, System.EventArgs e) { ViewState["value"] = "viewstatevalue"; }
用法与SESSION一样。
session值是保存在服务器内存上,大量的使用session将导致服务器负担加重. 而viewstate由于只是将数据存入到页面里,不占用服务器资源,因此, 我们可以将一些需要服务器"记住"的变量和对象保存到viewstate里面. 而sesson则只应该应用在需要跨页面且与每个访问用户相关的变量和对象存储上. 另外,session在默认情况下20分钟就过期,而viewstate则永远不会过期.
viewstate支持String、Integer、Boolean、Array、ArrayList、Hashtable 以及自定义的一些类型.
MSDN:http://www.microsoft.com/china/msdn/library/webservices/asp.net/0410viewstate.mspx
简述:
ViewState:
相当于页面的一个隐藏Web控件
他不会过期
占用的资源少(可以用它,就用它)
Session:
比较好资源。
会话模式。
通常用于保存保存登陆帐号什么的。
一次赋值后只要没有超过时间,可以直接在其他页面直接用。
顺便介绍一个实用的方法保持系统的Session值:
在页面中提供一个iframe,长和高都设置为0(隐藏),在页面中不断刷新,执行重新赋值Session的代码,就可以保持Session的有效了,在框架页面中效果可能比较好