Page.RegisterRequiresControlState(Control) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Registra um controle como um controle cujo estado deve ser persistido.
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
O controle a ser registrado.
Exceções
O controle a ser registrado é null
.
O método RegisterRequiresControlState(Control) pode ser chamado somente antes ou durante o evento PreRender.
Exemplos
O exemplo de código a seguir mostra um controle de servidor personalizado chamando o 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
Comentários
Os controles de servidor personalizados que usam o estado de controle devem chamar o RegisterRequiresControlState método em cada solicitação porque o registro do estado de controle não é transferido da solicitação para a solicitação durante um evento de postback. É recomendável que o registro ocorra no Init evento.