Udostępnij za pośrednictwem


StateBag Klasa

Definicja

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

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

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

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

Zobacz też