Control.SaveControlState Méthode

Définition

Enregistre tous les changements d’état de contrôle serveur qui ont eu lieu depuis que la page a été publiée sur le serveur.

protected public:
 virtual System::Object ^ SaveControlState();
protected internal virtual object SaveControlState ();
abstract member SaveControlState : unit -> obj
override this.SaveControlState : unit -> obj
Protected Friend Overridable Function SaveControlState () As Object

Retours

Object

Retourne l’état actuel du contrôle serveur. Si aucun état n’est associé au contrôle, cette méthode retourne null.

Exemples

L’exemple de code suivant remplace la SaveControlState méthode dans un contrôle ASP.NET personnalisé. Lorsque cette méthode est appelée, elle détermine si la propriété currentIndex interne est définie sur une valeur non définie par défaut et, le cas échéant, enregistre la valeur pour contrôler l’état.

La OnInit méthode est substituée pour appeler la RegisterRequiresControlState méthode sur la Page méthode pour indiquer que le contrôle personnalisé utilise l’état du contrôle.

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

Utilisez la SaveControlState méthode pour enregistrer les informations d’état requises pour le fonctionnement d’un contrôle spécifique. Ces données d’état de contrôle sont stockées séparément des données d’état d’affichage du contrôle.

Les contrôles personnalisés qui utilisent l’état du contrôle doivent appeler la RegisterRequiresControlState méthode avant Page d’enregistrer l’état du contrôle.

Notes pour les héritiers

Lorsque l’état du contrôle est enregistré, un objet chaîne est retourné au client en tant que variable stockée dans un élément HTML HIDDEN . Remplacez cette méthode pour extraire les informations d’état à utiliser dans votre contrôle.

L’état du contrôle est destiné à de petites quantités de données critiques, telles qu’un index de page ou un mot clé. L’utilisation de l’état de contrôle pour de grandes quantités de données peut nuire aux performances des pages. Pour plus d’informations, consultez ASP.NET Vue d’ensemble de la gestion des états.

S’applique à

Voir aussi