Control.LoadControlState(Object) Control.LoadControlState(Object) Control.LoadControlState(Object) Control.LoadControlState(Object) Method

定義

SaveControlState() メソッドによって保存された前回のページ要求からコントロールの状態情報を復元します。Restores control-state information from a previous page request that was saved by the SaveControlState() method.

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 Object Object

復元するコントロールの状態を表す ObjectAn Object that represents the control state to be restored.

次のコード例ではLoadControlState 、カスタム ASP.NET コントロールのメソッドをオーバーライドします。The following code example overrides the LoadControlState method in a custom ASP.NET control. このメソッドが呼び出されると、コントロールに対してコントロールの状態が既に保存されているかどうかがcurrentIndex判断され、存在する場合は、内部プロパティが保存された値に設定されます。When this method is invoked, it determines whether control state was previously saved for the control and, if so, sets the internal property currentIndex to the saved value.

メソッドは、のRegisterRequiresControlStateメソッドを呼び出して、 Pageカスタムコントロールがコントロールの状態を使用することを示すためにオーバーライドされます。 OnInitThe OnInit method is overridden to call the RegisterRequiresControlState method on the Page to indicate that the custom control uses control state.

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

注釈

カスタムサーバーコントロールがコントロールの状態を復元する方法を指定する必要がある場合は、このメソッドをオーバーライドします。Override this method when you need to specify how a custom server control restores its control state. 詳細については、「 ASP.NET State Management の概要」を参照してください。For more information, see ASP.NET State Management Overview.

適用対象

こちらもご覧ください