Classe StateBag (System.Web.UI)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Classe StateBag
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

Gestisce lo stato di visualizzazione dei controlli server ASP.NET, incluse le pagine. La classe non può essere ereditata.

Gerarchia di ereditarietà

System.Object
  System.Web.UI.StateBag

Spazio dei nomi:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)
Sintassi

Visual Basic
Public NotInheritable Class StateBag _
	Implements IStateManager, IDictionary, ICollection, IEnumerable
C#
public sealed class StateBag : IStateManager, 
	IDictionary, ICollection, IEnumerable
Visual C++
public ref class StateBag sealed : IStateManager, 
	IDictionary, ICollection, IEnumerable
F#
[<Sealed>]
type StateBag =  
    class
        interface IStateManager
        interface IDictionary
        interface ICollection
        interface IEnumerable
    end

Il tipo StateBag espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico StateBag() Inizializza una nuova istanza della classe StateBag. È il costruttore predefinito per questa classe.
Metodo pubblico StateBag(Boolean) Inizializza una nuova istanza della classe StateBag che consente di ignorare la distinzione tra maiuscole e minuscole per i valori di stato memorizzati.
In alto
Proprietà

  Nome Descrizione
Proprietà pubblica Count Ottiene il numero di oggetti StateItem presenti nell'oggetto StateBag.
Proprietà pubblica Item Ottiene o imposta il valore di un elemento memorizzato nell'oggetto StateBag.
Proprietà pubblica Keys Ottiene un insieme di chiavi che rappresentano gli elementi nell'oggetto StateBag.
Proprietà pubblica Values Ottiene un insieme dei valori dello stato di visualizzazione memorizzati nell'oggetto StateBag.
In alto
Metodi

  Nome Descrizione
Metodo pubblico Add Aggiunge un nuovo oggetto StateItem all'oggetto StateBag. Se l'elemento è già presente nell'oggetto StateBag, questo metodo aggiorna il valore dell'elemento.
Metodo pubblico Clear Rimuove tutti gli elementi dall'oggetto StateBag corrente.
Metodo pubblico Equals(Object) Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetEnumerator Restituisce un enumeratore che scorre tutte le coppie chiave/valore degli oggetti StateItem archiviati nell'oggetto StateBag.
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico IsItemDirty Verifica un oggetto StateItem archiviato nell'oggetto StateBag per valutare se ha subito delle modifiche dopo la chiamata del metodo Control.TrackViewState.
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico Remove Rimuove la coppia chiave/valore specificata dall'oggetto StateBag.
Metodo pubblico SetDirty Imposta lo stato dell'oggetto StateBag nonché la proprietà Dirty di tutti gli oggetti StateItem in esso contenuti.
Metodo pubblico SetItemDirty Imposta la proprietà Dirty per l'oggetto StateItem specificato contenuto nell'oggetto StateBag.
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto
Metodi di estensione

  Nome Descrizione
Metodo di estensione pubblico AsParallel Consente la parallelizzazione di una query. (Definito da ParallelEnumerable).
Metodo di estensione pubblico AsQueryable Converte un oggetto IEnumerable in un oggetto IQueryable. (Definito da Queryable).
Metodo di estensione pubblico Cast<TResult> Converte gli elementi di un oggetto IEnumerable nel tipo specificato. (Definito da Enumerable).
Metodo di estensione pubblico OfType<TResult> Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato. (Definito da Enumerable).
In alto
Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfaccia Metodo privato ICollection.CopyTo Per una descrizione di questo membro, vedere ICollection.CopyTo.
Implementazione esplicita dell'interfaccia Proprietà privata ICollection.IsSynchronized Per una descrizione di questo membro, vedere ICollection.IsSynchronized.
Implementazione esplicita dell'interfaccia Proprietà privata ICollection.SyncRoot Per una descrizione di questo membro, vedere ICollection.SyncRoot.
Implementazione esplicita dell'interfaccia Metodo privato IDictionary.Add Per una descrizione di questo membro, vedere IDictionary.Add.
Implementazione esplicita dell'interfaccia Metodo privato IDictionary.Contains Per una descrizione di questo membro, vedere IDictionary.Contains.
Implementazione esplicita dell'interfaccia Proprietà privata IDictionary.IsFixedSize Per una descrizione di questo membro, vedere IDictionary.IsFixedSize.
Implementazione esplicita dell'interfaccia Proprietà privata IDictionary.IsReadOnly Per una descrizione di questo membro, vedere IDictionary.IsReadOnly.
Implementazione esplicita dell'interfaccia Proprietà privata IDictionary.Item Per una descrizione di questo membro, vedere il metodo IDictionary.Item.
Implementazione esplicita dell'interfaccia Metodo privato IDictionary.Remove Per una descrizione di questo membro, vedere Remove.
Implementazione esplicita dell'interfaccia Metodo privato IEnumerable.GetEnumerator Per una descrizione di questo membro, vedere IEnumerable.GetEnumerator.
Implementazione esplicita dell'interfaccia Proprietà privata IStateManager.IsTrackingViewState Ottiene un valore che indica se le modifiche dello stato vengono registrate.
Implementazione esplicita dell'interfaccia Metodo privato IStateManager.LoadViewState Ripristina lo stato di visualizzazione salvato in precedenza dell'oggetto StateBag.
Implementazione esplicita dell'interfaccia Metodo privato IStateManager.SaveViewState Salva le modifiche apportate all'oggetto StateBag dal momento in cui è stato eseguito il postback della pagina sul server.
Implementazione esplicita dell'interfaccia Metodo privato IStateManager.TrackViewState Impone all'oggetto StateBag di registrare le modifiche del relativo stato per garantire la persistenza tra le richieste.
In alto
Note

Lo stato di visualizzazione di una pagina o un controllo è costituito dall'insieme dei valori delle proprietà, ovvero dalla visualizzazione, di tale pagina o controllo. È possibile accedere a questa classe tramite la proprietà Control.ViewState. I controlli possono inoltre archiviare informazioni fondamentali sullo stato nello stato del controllo, ma tali informazioni non vengono archiviate come oggetto StateBag.

Questa classe rappresenta il meccanismo di memorizzazione principale per tutti i controlli server HTML e Web. Memorizza le coppie attributo/valore come stringhe associate al controllo. Registra le modifiche apportate agli attributi solo dopo l'esecuzione del metodo OnInit per una richiesta di pagina e salva le modifiche dello stato di visualizzazione della pagina o del controllo.

Questa classe implementa un dizionario nel quale è possibile aggiungere o rimuovere elementi, come per qualsiasi oggetto dizionario. Per ulteriori informazioni sugli insiemi di dati, come ad esempio i dizionari, vedere Insiemi e strutture di dati.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato un controllo Label composito che dispone delle proprietà Text e FontSize. Queste proprietà vengono salvate e recuperate dallo stato di visualizzazione quando il metodo Control.Render viene chiamato sul controllo.

Visual Basic

' This control renders values stored in view state for Text and FontSize properties.

Imports System
Imports System.Web
Imports System.Web.UI

Namespace ViewStateControlSamples

    Public Class CustomLabel : Inherits Control
        Private Const defaultFontSize As Integer = 3

        ' Add property values to view state with set; 
        ' retrieve them from view state with get.
        Public Property [Text]() As String
            Get
                Dim o As Object = ViewState("Text")
                If (IsNothing(o)) Then
                    Return String.Empty
                Else
                    Return CStr(o)
                End If
            End Get
            Set(ByVal value As String)
                ViewState("Text") = value
            End Set
        End Property


        Public Property FontSize() As Integer
            Get
                Dim o As Object = ViewState("FontSize")
                If (IsNothing(o)) Then
                    Return defaultFontSize
                Else
                    Return CInt(ViewState("FontSize"))
                End If

            End Get
            Set(ByVal value As Integer)
                ViewState("FontSize") = value
            End Set
        End Property
        <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
        Protected Overrides Sub Render(ByVal Output As HtmlTextWriter)
            Output.Write("<font size=" & Me.FontSize & ">" & Me.Text & "</font>")
        End Sub

    End Class

End Namespace


C#

// This control renders values stored in view state for Text and FontSize properties.
using System;
using System.Web;
using System.Web.UI;

namespace ViewStateControlSamples
{

    public class CustomLabel : Control
    {
        private const int defaultFontSize = 3;

        // Add property values to view state with set;
        // retrieve them from view state with get.
        public String Text
        {
            get 
            { 
                object o = ViewState["Text"]; 
                return (o == null)? String.Empty : (string)o;
            }

            set
            {
                ViewState["Text"] = value;
            }
        }


        public int FontSize
        {
            get
            {
                object o = ViewState["FontSize"];
                return (o == null) ? defaultFontSize : (int)o;
            }
            set
            {
                ViewState["FontSize"] = value;
            }
        }

        [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
        protected override void Render(HtmlTextWriter output)
        {
            output.Write("<font size=" + this.FontSize.ToString() + ">" + this.Text + "</font>");
        }
    }
}


Informazioni sulla versione

.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0
Piattaforme

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche

Riferimenti

Altre risorse