Cette documentation est archivée et n’est pas conservée.

StateManagedCollection.SetDirtyObject, méthode

Mise à jour : novembre 2007

En cas de substitution dans une classe dérivée, commande à un object contenu dans la collection d'enregistrer l'intégralité de son état dans l'état d'affichage, plutôt que d'enregistrer uniquement des informations relatives aux modifications.

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

protected abstract void SetDirtyObject(
	Object o
)
protected abstract void SetDirtyObject(
	Object o
)
protected abstract function SetDirtyObject(
	o : Object
)

Paramètres

o
Type : System.Object

IStateManager qui doit se sérialiser intégralement.

La méthode SetDirtyObject est appelée en interne par les méthodes SaveViewState(), Add(Object) et Insert(Int32, Object).

L'exemple de code suivant montre comment une classe StateManagedCollection fortement typée implémente la méthode abstraite SetDirtyObject. Le CycleCollection utilise un objet StateBag pour stocker ses informations d'état d'affichage, et se contente de déléguer l'appel à la méthode SetDirty de l'objet StateBag. Ce code fait partie d'un exemple plus développé fourni pour la classe StateManagedCollection.

//////////////////////////////////////////////////////////////
//
// The strongly typed CycleCollection class is a collection
// that contains Cycle class instances, which implement the
// IStateManager interface.
//
//////////////////////////////////////////////////////////////
[AspNetHostingPermission(SecurityAction.Demand, 
    Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class CycleCollection : StateManagedCollection {

    private static readonly Type[] _typesOfCycles 
        = new Type[] { typeof(Bicycle), typeof(Tricycle) };

    protected override object CreateKnownType(int index) {
        switch(index) {
            case 0:
                return new Bicycle();
            case 1:
                return new Tricycle();                    
            default:
                throw new ArgumentOutOfRangeException("Unknown Type");
        }            
    }

    protected override Type[] GetKnownTypes() {
        return _typesOfCycles;
    }

    protected override void SetDirtyObject(object o) {
        ((Cycle)o).SetDirty();
    }

}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

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