Control.LoadControlState(Object) 方法

定義

還原方法儲存 SaveControlState() 的先前頁面請求中的控制狀態資訊。

protected public:
 virtual void LoadControlState(System::Object ^ savedState);
protected internal virtual void LoadControlState(object savedState);
abstract member LoadControlState : obj -> unit
override this.LoadControlState : obj -> unit
Protected Friend Overridable Sub LoadControlState (savedState As Object)

參數

savedState
Object

代表 Object 要恢復的控制狀態。

範例

以下程式碼範例覆蓋了自訂 ASP.NET 控制項中的 LoadControlState 方法。 當此方法被呼叫時,會判斷控制狀態是否先前已被儲存,若有,則將內部屬性 currentIndex 設定為儲存值。

OnInit方法會被覆寫,以呼叫 RegisterRequiresControlStatePage的方法,表示自訂控制使用控制狀態。

public class Sample : Control {
    private int currentIndex = 0;
   
    protected override void OnInit(EventArgs e) {
        Page.RegisterRequiresControlState(this);
        base.OnInit(e);
    }

    protected override object SaveControlState() {
        return currentIndex != 0 ? (object)currentIndex : null;
    }

    protected override void LoadControlState(object state) {
        if (state != null) {
            currentIndex = (int)state;
        }
    }
}
Class Sample
  Inherits Control
  
  Dim currentIndex As Integer
  
      Protected Overrides Sub OnInit(ByVal e As EventArgs)
          Page.RegisterRequiresControlState(Me)
          currentIndex = 0
          MyBase.OnInit(e)
      End Sub
  
      Protected Overrides Function SaveControlState() As Object
          If currentIndex <> 0 Then
              Return CType(currentIndex, Object)
          Else
              Return Nothing
          End If
      End Function
  
      Protected Overrides Sub LoadControlState(ByVal state As Object)
          If (state <> Nothing) Then
              currentIndex = CType(state, Integer)
          End If
      End Sub
  
End Class

備註

當你需要指定自訂伺服器控制如何恢復其控制狀態時,可以覆寫這個方法。 欲了解更多資訊,請參閱 ASP.NET 州管理概述

適用於

另請參閱