Page.RegisterRequiresControlState(Control) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Registra un controllo in modo che il relativo stato del controllo debba essere mantenuto.
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)
Parametri
- control
- Control
Controllo da registrare.
Eccezioni
Il controllo da registrare è null
.
Il metodo RegisterRequiresControlState(Control) può essere chiamato solo prima o durante l'evento PreRender.
Esempio
Nell'esempio di codice seguente viene illustrato un controllo server personalizzato che chiama il RegisterRequiresControlState metodo .
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
Commenti
I controlli server personalizzati che usano lo stato del controllo devono chiamare il metodo in ogni richiesta perché la registrazione per lo RegisterRequiresControlState stato del controllo non viene eseguita dalla richiesta alla richiesta durante un evento postback. È consigliabile che la registrazione si verifichi nell'evento Init .