1.ViewState   的工作原理:     
      ViewState   是由   ASP.NET   页面框架管理的一个隐藏的窗体字段。当   ASP.NET   执行某个页面时,该页面上的  ViewState   值和所有控件将被收集并格式化成一个编码字符串,然后被分配给隐藏窗体字段的值属性(即   <input   type=hidden>)。由于隐藏窗体字段是发送到客户端的页面的一部分,所以 ViewState 值被临时存储在客户端的浏览器中。如果客户端选择将该页面回传给服务器,则   ViewState   字符串也将被回传。   
     回传后,ASP.NET   页面框架将解析   ViewState   字符串,并为该页面和各个控件填充 ViewState属性。然后,控件再使用 ViewState 数据将自己重新恢复为以前的状态。

2.Viewstate 与 Session 的比较
占用服务器资源 true false
time out true false
存储任何.net类型 true false(只支持strings, integers, Booleans, arrays, ArrayList, hashtable, custom TypeConverters)
加重html负载 false true

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

3.使用Viewstate
定义 viewstate
// save in ViewState
ViewState["SortOrder"] = "DESC";

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

posted on 2009-03-30 14:32  一天进步一点  阅读(1513)  评论(0编辑  收藏  举报