Page.RegisterRequiresControlState(Control) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Enregistre un contrôle de telle sorte que l'état du contrôle soit persistant.
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)
Paramètres
- control
- Control
Contrôle à inscrire.
Exceptions
Le contrôle à inscrire est null
.
La méthode RegisterRequiresControlState(Control) ne peut être appelée qu'avant ou pendant l'événement PreRender.
Exemples
L’exemple de code suivant montre un contrôle serveur personnalisé appelant la RegisterRequiresControlState méthode.
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
Remarques
Les contrôles serveur personnalisés qui utilisent l’état de contrôle doivent appeler la méthode sur chaque requête, car l’inscription RegisterRequiresControlState pour l’état de contrôle n’est pas reportée de la requête à la demande pendant un événement de publication. Il est recommandé que l’inscription se produise dans l’événement Init .