Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

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()

Valeur de retour

Type : System.Object
Retourne l'état actuel du contrôle serveur. Si aucun état n'est associé au contrôle, cette méthode retourne null.

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 Vue d'ensemble de la 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;
        }
    }
}


.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ