Partage via


Page.RegisterRequiresControlState(Control) Méthode

Définition

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 .

S’applique à

Voir aussi