程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 庖丁解牛Asp.net3.5控件和組件開發技術系列—頁面狀態機制(三)

庖丁解牛Asp.net3.5控件和組件開發技術系列—頁面狀態機制(三)

編輯:關於ASP.NET

6.3 控件狀態機制

自ASP.NET 2.0開始支持控件狀態機制。控件的狀態數據現在能通過控件狀態而不是視圖狀態被保持,控件狀態是不能夠像視圖狀態那樣被禁用的。由於控件狀態的工作方式與視圖狀態完全一致,並且默認情況下在頁面中它們都是存儲在同一個隱藏域中,這裡對它的工作原理就不多介紹了。

與LoadViewState和SaveViewState類似,控件狀態也是提供了一對這樣的方法,方法名稱分別為LoadControlState和SaveControl State,並且也是在Control基類中提供。

圖6-5中加灰底部分是控件狀態在控件生命周期中的階段。

如果啟用控件狀態功能,只需實現以下幾個方法:

/// <summary>
/// 獲得本書更多內容,請看:
/// http://blog.csdn.net/ChengKing/archive/2008/08/18/2792440.aspx
/// </summary>
public class ControlStatePeriod : WebControl
{
   protected override void OnInit(EventArgs e)
   {
     base.OnInit(e);
     Page.RegisterRequiresControlState(this);
   }
   protected override object SaveControlState()
   {
     //… …
   }
   protected override void LoadControlState(object savedState)
   {
     //… …
   }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved