次の方法で共有


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

次のコード例では、 LoadControlState カスタム ASP.NET コントロールの メソッドをオーバーライドします。 このメソッドが呼び出されると、コントロールの状態がコントロールに対して以前に保存されたかどうかを判断し、保存されている場合は内部プロパティ currentIndex を保存された値に設定します。

メソッドがOnInitオーバーライドされ、 の メソッドPageRegisterRequiresControlState呼び出され、カスタム コントロールがコントロールの状態を使用していることを示します。

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 State Management の概要」を参照してください。

適用対象

こちらもご覧ください