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)

参数

savedState
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 方法,以对 Page 调用 RegisterRequiresControlState 方法,以指示自定义控件使用控件状态。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) {
        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 状态管理概述For more information, see ASP.NET State Management Overview.

适用于

另请参阅