Page.RegisterRequiresControlState(Control) Page.RegisterRequiresControlState(Control) Page.RegisterRequiresControlState(Control) Method

Определение

Регистрирует элемент управления, как элемент управления с сохраняемым состоянием.Registers a control as one whose control state must be persisted.

public:
 void RegisterRequiresControlState(System::Web::UI::Control ^ control);
public void RegisterRequiresControlState (System.Web.UI.Control control);
member this.RegisterRequiresControlState : System.Web.UI.Control -> unit

Параметры

control
Control Control Control

Регистрируемый элемент управления.The control to register.

Исключения

Регистрируемый элемент управления имеет значение null.The control to register is null.

Метод RegisterRequiresControlState(Control) может вызываться только до или во время события PreRender.The RegisterRequiresControlState(Control) method can be called only before or during the PreRender event.

Примеры

В следующем примере кода показан пользовательский серверный элемент управления, RegisterRequiresControlState вызывающий метод.The following code example shows a custom server control calling the RegisterRequiresControlState method.

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

Комментарии

Пользовательские серверные элементы управления, использующие состояние элемента управления RegisterRequiresControlState , должны вызывать метод для каждого запроса, так как регистрация состояния элемента управления не передается из запроса на запрос во время события обратной передачи.Custom server controls that use control state must call the RegisterRequiresControlState method on each request because registration for control state is not carried over from request to request during a postback event. Рекомендуется, чтобы регистрация выполнялась в Init событии.It is recommended that registration occur in the Init event.

Применяется к

Дополнительно