StateBag Klasa

Definicja

Zarządza stanem widoku kontrolek serwera ASP.NET, w tym stron. Klasa ta nie może być dziedziczona.

C#
public sealed class StateBag : System.Collections.IDictionary, System.Web.UI.IStateManager
Dziedziczenie
StateBag
Implementuje

Przykłady

Poniższy przykład kodu przedstawia złożoną kontrolkę Label , która ma Text właściwości i FontSize . Te właściwości są zapisywane i pobierane ze stanu widoku, gdy Control.Render metoda jest wywoływana w kontrolce.

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>");
        }
    }
}

Uwagi

Stan widoku strony lub kontrolki to skumulowane wartości właściwości lub widoku tej strony lub kontrolki. Dostęp do tej klasy można uzyskać za pośrednictwem Control.ViewState właściwości . Kontrolki mogą również przechowywać podstawowe informacje o stanie kontroli, ale te informacje nie są przechowywane jako StateBag obiekt.

Ta klasa jest podstawowym mechanizmem magazynowania dla wszystkich kontrolek HTML i serwera sieci Web. Przechowuje pary atrybutów/wartości jako ciągi skojarzone z kontrolką. Śledzi zmiany tych atrybutów tylko po wykonaniu OnInit metody dla żądania strony i zapisuje zmiany w stanie widoku strony lub kontrolki.

Ta klasa implementuje słownik i można do niego dodawać elementy lub usuwać z niego elementy, tak jak w przypadku dowolnego obiektu słownika. Aby uzyskać więcej informacji na temat zbierania danych, takich jak słowniki, zobacz Kolekcje i struktury danych.

Konstruktory

StateBag()

Inicjuje nowe wystąpienie klasy StateBag. Jest to konstruktor bez parametrów dla tej klasy.

StateBag(Boolean)

Inicjuje StateBag nowe wystąpienie klasy, które umożliwia przechowywanie wartości stanu jako niewrażliwe na wielkość liter.

Właściwości

Count

Pobiera liczbę StateItem obiektów w StateBag obiekcie.

Item[String]

Pobiera lub ustawia wartość elementu przechowywanego StateBag w obiekcie.

Keys

Pobiera kolekcję kluczy reprezentujących elementy w StateBag obiekcie.

Values

Pobiera kolekcję wartości stanu widoku przechowywanych w StateBag obiekcie.

Metody

Add(String, Object)

Dodaje nowy StateItem obiekt do StateBag obiektu. Jeśli element już istnieje w StateBag obiekcie, ta metoda aktualizuje wartość elementu.

Clear()

Usuwa wszystkie elementy z bieżącego StateBag obiektu.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetEnumerator()

Zwraca moduł wyliczający, który iteruje wszystkie pary StateItem klucz/wartość obiektów przechowywanych w StateBag obiekcie.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
IsItemDirty(String)

StateItem Sprawdza obiekt przechowywany w obiekcie, StateBag aby ocenić, czy został zmodyfikowany od wywołania metody TrackViewState().

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Remove(String)

Usuwa określoną parę klucz/wartość z StateBag obiektu.

SetDirty(Boolean)

Ustawia stan StateBag obiektu, a także Dirty właściwość każdego z StateItem obiektów zawartych w nim.

SetItemDirty(String, Boolean)

Dirty Ustawia właściwość dla określonego StateItem obiektu w StateBag obiekcie.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ICollection.CopyTo(Array, Int32)

Aby uzyskać opis tego elementu członkowskiego, zobacz CopyTo(Array, Int32).

ICollection.IsSynchronized

Aby uzyskać opis tego elementu członkowskiego, zobacz IsSynchronized.

ICollection.SyncRoot

Aby uzyskać opis tego elementu członkowskiego, zobacz SyncRoot.

IDictionary.Add(Object, Object)

Aby uzyskać opis tego elementu członkowskiego, zobacz Add(Object, Object).

IDictionary.Contains(Object)

Aby uzyskać opis tego elementu członkowskiego, zobacz Contains(Object).

IDictionary.IsFixedSize

Aby uzyskać opis tego elementu członkowskiego, zobacz IsFixedSize.

IDictionary.IsReadOnly

Aby uzyskać opis tego elementu członkowskiego, zobacz IsReadOnly.

IDictionary.Item[Object]

Aby uzyskać opis tego elementu członkowskiego, zobacz Item[Object].

IDictionary.Remove(Object)

Aby uzyskać opis tego elementu członkowskiego, zobacz Remove(Object).

IEnumerable.GetEnumerator()

Aby uzyskać opis tego elementu członkowskiego, zobacz GetEnumerator().

IStateManager.IsTrackingViewState

Pobiera wartość wskazującą, czy zmiany stanu są śledzone.

IStateManager.LoadViewState(Object)

Przywraca wcześniej zapisany stan StateBag widoku obiektu.

IStateManager.SaveViewState()

Zapisuje zmiany w StateBag obiekcie od czasu opublikowania strony z powrotem na serwerze.

IStateManager.TrackViewState()

StateBag Powoduje, że obiekt śledzi zmiany stanu, aby można było je utrwalać między żądaniami.

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy elementu IEnumerable do określonego typu.

OfType<TResult>(IEnumerable)

Filtruje elementy elementu IEnumerable na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy

Produkt Wersje
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Zobacz też