StateBag Klasse

Definition

Verwaltet den Ansichtszustand von ASP.NET-Serversteuerelementen, einschließlich Seiten. Diese Klasse kann nicht vererbt werden.

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
Vererbung
StateBag
Implementiert

Beispiele

Im folgenden Codebeispiel wird ein zusammengesetztes Label Steuerelement veranschaulicht, das über und FontSize Eigenschaften verfügtText. Diese Eigenschaften werden gespeichert und aus dem Ansichtszustand abgerufen, wenn die Control.Render Methode für das Steuerelement aufgerufen wird.

// 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

Hinweise

Der Ansichtszustand für eine Seite oder ein Steuerelement ist die kumulativen Eigenschaftswerte oder die Ansicht dieser Seite oder dieses Steuerelements. Sie können über die Control.ViewState Eigenschaft auf diese Klasse zugreifen. Steuerelemente können auch wichtige Zustandsinformationen im Steuerelementzustand speichern, aber diese Informationen werden nicht als StateBag Objekt gespeichert.

Diese Klasse ist der primäre Speichermechanismus für alle HTML- und Webserversteuerelemente. Es speichert Attribut-/Wertpaare als Zeichenfolgen, die dem Steuerelement zugeordnet sind. Es verfolgt Änderungen an diesen Attributen nur, nachdem die OnInit Methode für eine Seitenanforderung ausgeführt wurde, und speichert die Änderungen am Ansichtsstatus der Seite oder des Steuerelements.

Diese Klasse implementiert ein Wörterbuch, und Sie können darin Elemente hinzufügen oder Elemente daraus entfernen, wie jedes Wörterbuchobjekt. Weitere Informationen zu Datensammlungen, z. B. Wörterbüchern, finden Sie unter Sammlungen und Datenstrukturen.

Konstruktoren

StateBag()

Initialisiert eine neue Instanz der StateBag-Klasse. Dies ist der parameterlose Konstruktor für diese Klasse.

StateBag(Boolean)

Initialisiert eine neue Instanz der StateBag-Klasse, die zulässt, dass bei gespeicherten Zustandswerten die Groß- und Kleinschreibung nicht berücksichtigt wird.

Eigenschaften

Count

Ruft die Anzahl der StateItem-Objekte im StateBag-Objekt ab.

Item[String]

Ruft den Wert eines im StateBag-Objekt gespeicherten Elements ab oder legt diesen fest.

Keys

Ruft eine Auflistung der Schlüssel ab, die die Elemente im StateBag-Objekt darstellen.

Values

Ruft eine Auflistung von im StateBag-Objekt gespeicherten Ansichtszustandswerten ab.

Methoden

Add(String, Object)

Fügt dem StateItem-Objekt ein neues StateBag-Objekt hinzu. Wenn das Element bereits im StateBag-Objekt vorhanden ist, aktualisiert diese Methode den Wert des Elements.

Clear()

Entfernt alle Elemente aus dem aktuellen StateBag-Objekt.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEnumerator()

Gibt einen Enumerator zurück, der alle Schlüssel-Wert-Paare des im StateItem-Objekt gespeicherten StateBag-Objekts durchläuft.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsItemDirty(String)

Überprüft ein im StateItem-Objekt gespeichertes StateBag-Objekt, um auszuwerten, ob es seit dem Aufruf von TrackViewState() geändert wurde.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Remove(String)

Entfernt das angegebene Schlüssel-Wert-Paar aus dem StateBag-Objekt.

SetDirty(Boolean)

Legt sowohl den Status des StateBag-Objekts als auch die Dirty-Eigenschaft der einzelnen darin enthaltenen StateItem-Objekte fest.

SetItemDirty(String, Boolean)

Legt die Dirty-Eigenschaft für das angegebene StateItem-Objekt im StateBag-Objekt fest.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32)

Eine Beschreibung dieses Elements finden Sie unter CopyTo(Array, Int32).

ICollection.IsSynchronized

Eine Beschreibung dieses Elements finden Sie unter IsSynchronized.

ICollection.SyncRoot

Eine Beschreibung dieses Elements finden Sie unter SyncRoot.

IDictionary.Add(Object, Object)

Eine Beschreibung dieses Elements finden Sie unter Add(Object, Object).

IDictionary.Contains(Object)

Eine Beschreibung dieses Elements finden Sie unter Contains(Object).

IDictionary.IsFixedSize

Eine Beschreibung dieses Elements finden Sie unter IsFixedSize.

IDictionary.IsReadOnly

Eine Beschreibung dieses Elements finden Sie unter IsReadOnly.

IDictionary.Item[Object]

Eine Beschreibung dieses Elements finden Sie unter Item[Object].

IDictionary.Remove(Object)

Eine Beschreibung dieses Elements finden Sie unter Remove(Object).

IEnumerable.GetEnumerator()

Eine Beschreibung dieses Elements finden Sie unter GetEnumerator().

IStateManager.IsTrackingViewState

Ruft einen Wert ab, der anzeigt, ob Zustandsänderungen verfolgt werden.

IStateManager.LoadViewState(Object)

Stellt den zuvor gespeicherten Ansichtszustand des StateBag-Objekts wieder her.

IStateManager.SaveViewState()

Speichert die Änderungen am StateBag-Objekt ab dem Zeitpunkt, an dem die Seite an den Server zurückgesendet wurde.

IStateManager.TrackViewState()

Bewirkt, dass das StateBag-Objekt Änderungen an seinem Zustand nachverfolgt, sodass es anforderungsübergreifend beibehalten werden kann.

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für

Siehe auch