ASP.NET ViewState的用法

ViewState的定义:

视图状态是 ASP.NET 页中的一个储存库,可以存储需要在回发期间保留的值。视图状态通常用于必须保留的页变量,而不是用于用户或会话数据。例如,您可以存储视图状态的信息,下次将页发送到服务器时,在加载页活动期间将访问这些信息。有关推荐的使用方法,请参见 ASP.NET 状态管理建议。

视图状态数据以 Base64 编码字符串的格式存储在一个或多个隐藏字段中。您可以使用页的 ViewState 属性(此属性公开一个字典对象)来访问视图状态信息。由于视图状态数据以字符串的形式存储,因此只能存储可以序列化的对象。

由于视图状态是作为隐藏字段发送的,因此直到发生 PreRenderComplete 事件之前,都可以对视图状态进行更改。一旦将页呈现到浏览器,便无法保存对视图状态的更改。   

比如,可以记录多次登录的次数。

private int LoginNum
    {
        get
        {
            if (ViewState["LoginNum"] == null)
                return 0;
            return Convert.ToInt32(ViewState["LoginNum"]);
        }
        set
        {
            ViewState["LoginNum"] = value;
        }

 
session 对整个 application 有效 ,而 viewstate相当于
某个页面的 session

定义 viewstate

// save in ViewState 
ViewState["SortOrder"] = "DESC";

// read from ViewState 
string sortOrder = (string)ViewState["SortOrder"];

posted @ 2009-09-23 12:44  书奎  阅读(244)  评论(0编辑  收藏  举报