Condividi tramite


StateBag Classe

Definizione

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

public ref class StateBag sealed : System::Collections::IDictionary, System::Web::UI::IStateManager
public sealed class StateBag : System.Collections.IDictionary, System.Web.UI.IStateManager
type StateBag = class
    interface IStateManager
    interface IDictionary
    interface ICollection
    interface IEnumerable
Public NotInheritable Class StateBag
Implements IDictionary, IStateManager
Ereditarietà
StateBag
Implementazioni

Esempio

Nell'esempio di codice seguente viene illustrato un controllo composito Label con Text proprietà e FontSize . Queste proprietà vengono salvate e recuperate dallo stato di visualizzazione quando il Control.Render metodo viene chiamato nel controllo .

// 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>");
        }
    }
}
' This control renders values stored in view state for Text and FontSize properties.

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

Commenti

Lo stato di visualizzazione per una pagina o un controllo è costituito dai valori cumulativi delle proprietà o dalla visualizzazione di tale pagina o controllo. È possibile accedere a questa classe tramite la Control.ViewState proprietà . I controlli possono anche archiviare informazioni di stato essenziali nello stato di controllo, ma tali informazioni non vengono archiviate come StateBag oggetto .

Questa classe è il meccanismo di archiviazione principale per tutti i controlli server HTML e Web. Archivia le coppie attributo/valore come stringhe associate al controllo . Tiene traccia delle modifiche apportate a questi attributi solo dopo l'esecuzione del OnInit metodo per una richiesta di pagina e salva le modifiche apportate allo stato di visualizzazione della pagina o del controllo.

Questa classe implementa un dizionario ed è possibile aggiungervi elementi o rimuoverli come qualsiasi oggetto dizionario. Per altre informazioni sulle raccolte dati, ad esempio dizionari, vedere Raccolte e strutture di dati.

Costruttori

StateBag()

Inizializza una nuova istanza della classe StateBag. Si tratta del costruttore senza parametri per questa classe.

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.

Proprietà

Count

Ottiene il numero di oggetti StateItem nell'oggetto StateBag.

Item[String]

Ottiene o imposta il valore di un elemento memorizzato nell'oggetto StateBag.

Keys

Ottiene un insieme di chiavi che rappresentano gli elementi nell'oggetto StateBag.

Values

Ottiene un insieme dei valori dello stato di visualizzazione memorizzati nell'oggetto StateBag.

Metodi

Add(String, Object)

Aggiunge un nuovo oggetto StateItem all'oggetto StateBag. Se l'elemento è già presente nell'oggetto StateBag, questo metodo aggiorna il valore dell'elemento.

Clear()

Rimuove tutti gli elementi dall'oggetto StateBag corrente.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore che scorre tutte le coppie chiave/valore degli oggetti StateItem archiviati nell'oggetto StateBag.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsItemDirty(String)

Verifica un oggetto StateItem archiviato nell'oggetto StateBag per valutare se ha subito delle modifiche dopo la chiamata del metodo TrackViewState().

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Remove(String)

Rimuove la coppia chiave/valore specificata dall'oggetto StateBag.

SetDirty(Boolean)

Imposta lo stato dell'oggetto StateBag, nonché la proprietà Dirty di ciascuno degli oggetti StateItem in esso contenuti.

SetItemDirty(String, Boolean)

Imposta la proprietà Dirty per l'oggetto StateItem specificato contenuto nell'oggetto StateBag.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Per una descrizione di questo membro, vedere CopyTo(Array, Int32).

ICollection.IsSynchronized

Per una descrizione di questo membro, vedere IsSynchronized.

ICollection.SyncRoot

Per una descrizione di questo membro, vedere SyncRoot.

IDictionary.Add(Object, Object)

Per una descrizione di questo membro, vedere Add(Object, Object).

IDictionary.Contains(Object)

Per una descrizione di questo membro, vedere Contains(Object).

IDictionary.IsFixedSize

Per una descrizione di questo membro, vedere IsFixedSize.

IDictionary.IsReadOnly

Per una descrizione di questo membro, vedere IsReadOnly.

IDictionary.Item[Object]

Per una descrizione di questo membro, vedere Item[Object].

IDictionary.Remove(Object)

Per una descrizione di questo membro, vedere Remove(Object).

IEnumerable.GetEnumerator()

Per una descrizione di questo membro, vedere GetEnumerator().

IStateManager.IsTrackingViewState

Ottiene un valore che indica se viene tenuta traccia delle modifiche apportate allo stato.

IStateManager.LoadViewState(Object)

Ripristina lo stato di visualizzazione precedentemente salvato dell'oggetto StateBag.

IStateManager.SaveViewState()

Salva le modifiche apportate all'oggetto StateBag dal momento in cui è stato eseguito il postback della pagina al server.

IStateManager.TrackViewState()

Determina il rilevamento delle modifiche allo stato da parte dell'oggetto StateBag in modo che possano essere rese persistenti in tutte le richieste.

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche