Exporter (0) Imprimer
Développer tout

Control.SaveControlState, méthode

Enregistre les modifications éventuellement apportées à l'état du contrôle serveur depuis la publication de la page sur le serveur.

Espace de noms: System.Web.UI
Assembly : System.Web (dans system.web.dll)

protected internal virtual Object SaveControlState ()
protected Object SaveControlState ()
protected internal function SaveControlState () : Object
Non applicable.

Valeur de retour

Retourne l'état actuel du contrôle serveur. Si aucun état n'est associé au contrôle, cette méthode retourne référence Null (Nothing en Visual Basic).

Utilisez la méthode SaveControlState pour enregistrer des informations d'état requises pour l'opération d'un contrôle spécifique. Ces données sur l'état du contrôle sont stockées séparément des données sur l'état d'affichage du contrôle.

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

Remarques à l'attention des héritiers : Lorsque l'état du contrôle est enregistré, un objet chaîne est retourné au client sous la forme d'une variable stockée dans un élément HTML HIDDEN. Substituez cette méthode pour extraire les informations d'état à utiliser dans votre contrôle. L'état du contrôle est conçu pour être utilisé pour petites quantités de données critiques, telles qu'un index de page ou un mot clé. Utiliser l'état du contrôle pour d'importantes quantités de données peut affecter la performance de page. Pour plus d'informations, consultez Gestion d'état ASP.NET.

L'exemple de code suivant substitue la méthode SaveControlState dans un contrôle ASP.NET personnalisé. Lorsque cette méthode est appelée, elle détermine si une valeur autre que celle utilisée par défaut est affectée à la propriété interne currentIndex ; si tel est le cas, elle enregistre la valeur sur l'état du contrôle.

La méthode OnInit est substituée pour appeler la méthode RegisterRequiresControlState sur la Page 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;
        }
    }
}

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 est pris en charge sur Windows Vista, Microsoft Windows XP SP2 et Windows Server 2003 SP1.

.NET Framework

Prise en charge dans : 3.0, 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft