Condividi tramite


StateBag Classe

Definizione

Gestisce lo stato di visualizzazione dei controlli server ASP.NET, incluse le pagine. Questa 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 sul 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 di dati, ad esempio i dizionari, vedere Raccolte e strutture di dati.

Costruttori

Nome Descrizione
StateBag()

Inizializza una nuova istanza della classe StateBag. Questo è il costruttore senza parametri per questa classe.

StateBag(Boolean)

Inizializza una nuova istanza della StateBag classe che consente la distinzione tra maiuscole e minuscole per i valori dello stato archiviato.

Proprietà

Nome Descrizione
Count

Ottiene il numero di StateItem oggetti nell'oggetto StateBag .

Item[String]

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

Keys

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

Values

Ottiene una raccolta dei valori dello stato di visualizzazione archiviati nell'oggetto StateBag .

Metodi

Nome Descrizione
Add(String, Object)

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

Clear()

Rimuove tutti gli elementi dall'oggetto corrente StateBag .

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 StateItem oggetti archiviati nell'oggetto StateBag .

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsItemDirty(String)

Controlla un StateItem oggetto archiviato nell'oggetto StateBag per valutare se è stato modificato dopo la chiamata a TrackViewState().

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Remove(String)

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

SetDirty(Boolean)

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

SetItemDirty(String, Boolean)

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

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
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 vengono rilevate modifiche dello stato.

IStateManager.LoadViewState(Object)

Ripristina lo stato di visualizzazione salvato in precedenza dell'oggetto StateBag .

IStateManager.SaveViewState()

Salva le modifiche apportate all'oggetto StateBag dal momento in cui la pagina è stata pubblicata nel server.

IStateManager.TrackViewState()

Fa in modo che l'oggetto StateBag possa tenere traccia delle modifiche apportate allo stato in modo che possa essere salvato in modo permanente tra le richieste.

Metodi di estensione

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

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

Si applica a

Vedi anche