Comparteix a través de


Page.RegisterRequiresControlState(Control) Método

Definición

Registra un control como un control cuyo estado se debe conservar.

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)

Parámetros

control
Control

Control que se va a registrar.

Excepciones

El control que se va a registrar es null.

Solamente se puede llamar al método RegisterRequiresControlState(Control) antes de o durante el evento PreRender.

Ejemplos

En el ejemplo de código siguiente se muestra un control de servidor personalizado que llama al RegisterRequiresControlState método .

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

Comentarios

Los controles de servidor personalizados que usan el estado de control deben llamar al RegisterRequiresControlState método en cada solicitud porque el registro para el estado de control no se transfiere de la solicitud a la solicitud durante un evento de postback. Se recomienda que el registro se produzca en el Init evento .

Se aplica a

Consulte también