Control.LoadControlState(Object) メソッド


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)



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

次のコード例では、カスタム ASP.NET コントロールの LoadControlState メソッドをオーバーライドします。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.

OnInit メソッドは、PageRegisterRequiresControlState メソッドを呼び出して、カスタムコントロールがコントロールの状態を使用することを示すためにオーバーライドされます。The 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) {

    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)
          currentIndex = 0
      End Sub
      Protected Overrides Function SaveControlState() As Object
          If currentIndex <> 0 Then
              Return CType(currentIndex, Object)
              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.