Page.RegisterRequiresControlState(Control) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 .