Поделиться через


Page.RegisterRequiresControlState(Control) Метод

Определение

Регистрирует элемент управления, как элемент управления с сохраняемым состоянием.

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

Параметры

control
Control

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

Исключения

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

Метод RegisterRequiresControlState(Control) может вызываться только до или во время события PreRender.

Примеры

В следующем примере кода показан пользовательский серверный элемент управления, вызывающий RegisterRequiresControlState метод .

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 метод при каждом запросе, так как регистрация состояния элемента управления не переносится из запроса в запрос во время события обратной передачи. Рекомендуется, чтобы регистрация происходила в событии Init .

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

См. также раздел