ASP.Net篇之ViewSatate

ViewState用法:

ViewState是一个保存页面状态的,可以使用户在使用某动态页面时,获得连续性动作的功能,而不需要重新输入一遍数据。

与static静态变量区别在于,如果一个用户访问的时候,ViewSatate与static是没什么区别,但是如果多个用户访问的时候,静态变量就会一直不断的更改,导致数据混乱,但ViewState的话,就是每个用户互不干涉,并且能保存当前页面状态,从而使得一些操作和数据交互更加良好。

用法是:

ViewState可以是一个对象,一个字符串、多种数据类型等等。

Person user = new Person();

ViewState["uservs"] = user;   //装箱操作

 

“每次”需要用到的时候,则是

Person p = ViewState["uservs"] as Person; //拆箱操作

 

需要注意的是,此时的Person类要进行序列化[Serializable]

 

综合特点是,可以进行对对象的操作,但是仅仅限于是在同一页面之中。

 

 

网上的参考资料:

viewstate的值保存在浏览器的html代码中 , 当浏览器关闭 , 则值消失 , 即viewstate是在本页面之内各函数间进行传值的 , 至于为什么要使用这种方法 , 因为在一个事件发生之后 , 页面可能会刷新 , 如果定义全局变量会被清零 , 所以要使用 viewstate.

 

ViewState: ViewState 属性提供一个字典对象,用于在对同一页的多个请求之间保留值。这是页用来在往返行程之间保留页和控件属性值的默认方法。在处理页时,页和控件的当前状态会散列为一个字符串,并在页中保存为一个隐藏域或多个隐藏域(如果存储在 ViewState 属性中的数据量超过了 MaxPageStateFieldLength 属性中的指定值)。当将页回发到服务器时,页会在页初始化阶段分析视图状态字符串,并还原页中的属性信息。也可以使用视图状态来存储值。在默认情况下,ViewState不被加密,并且发生服务器-客户端数据传输。 ViewState的关键特性有:存储于页面上,与会话且与页面相关,被序列化,默认发生服务器-客户端传输,默认不被加密。

posted on 2011-08-31 09:43  嘭嘭帮  阅读(338)  评论(0编辑  收藏  举报

导航