StateBag Třída

Definice

Spravuje stav zobrazení ovládacích prvků serveru ASP.NET, včetně stránek. Tato třída se nemůže dědit.

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
Dědičnost
StateBag
Implementuje

Příklady

Následující příklad kódu ukazuje složený Label ovládací prvek, který má Text vlastnosti a FontSize . Tyto vlastnosti jsou uloženy a načteny ze stavu zobrazení při Control.Render zavolání metody v ovládacím prvku.

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

Poznámky

Stav zobrazení stránky nebo ovládacího prvku představuje hodnoty kumulativní vlastnosti nebo zobrazení dané stránky nebo ovládacího prvku. K této třídě můžete přistupovat prostřednictvím Control.ViewState vlastnosti . Ovládací prvky mohou také ukládat základní informace o stavu řízení, ale tyto informace nejsou uloženy StateBag jako objekt.

Tato třída je primárním mechanismem úložiště pro všechny ovládací prvky HTML a webového serveru. Páry atributu a hodnoty jsou uloženy jako řetězce přidružené k ovládacímu prvku. Sleduje změny těchto atributů až po OnInit spuštění metody pro požadavek stránky a uloží změny do stavu zobrazení stránky nebo ovládacího prvku.

Tato třída implementuje slovník a můžete do něj přidávat položky nebo z něj odebírat položky stejně jako jakýkoli objekt slovníku. Další informace o shromažďování dat, jako jsou slovníky, najdete v tématu Kolekce a datové struktury.

Konstruktory

StateBag()

Inicializuje novou instanci StateBag třídy. Toto je konstruktor bez parametrů pro tuto třídu.

StateBag(Boolean)

Inicializuje novou instanci třídy, která umožňuje, aby hodnoty uloženého StateBag stavu nerozlišují malá a velká písmena.

Vlastnosti

Count

Získá počet StateItem objektů v objektu StateBag .

Item[String]

Získá nebo nastaví hodnotu položky uložené v objektu StateBag .

Keys

Získá kolekci klíčů představujících položky v objektu StateBag .

Values

Získá kolekci hodnot stavu zobrazení uložených v objektu StateBag .

Metody

Add(String, Object)

Přidá do objektu StateBag nový StateItem objekt. Pokud položka již existuje v objektu StateBag , tato metoda aktualizuje hodnotu položky.

Clear()

Odebere všechny položky z aktuálního StateBag objektu.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetEnumerator()

Vrátí enumerátor, který iteruje všechny páry StateItem klíč/hodnota objektů uložených v objektu StateBag .

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
IsItemDirty(String)

Zkontroluje StateItem objekt uložený v objektu StateBag a vyhodnotí, jestli byl změněn od volání objektu TrackViewState().

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
Remove(String)

Odebere zadaný pár klíč/hodnota z objektu StateBag .

SetDirty(Boolean)

Nastaví stav objektu StateBag a Dirty také vlastnost každého objektu StateItem , který obsahuje.

SetItemDirty(String, Boolean)

Dirty Nastaví vlastnost pro zadaný StateItem objekt v objektuStateBag.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

ICollection.CopyTo(Array, Int32)

Popis tohoto člena najdete v tématu CopyTo(Array, Int32).

ICollection.IsSynchronized

Popis tohoto člena najdete v tématu IsSynchronized.

ICollection.SyncRoot

Popis tohoto člena najdete v tématu SyncRoot.

IDictionary.Add(Object, Object)

Popis tohoto člena najdete v tématu Add(Object, Object).

IDictionary.Contains(Object)

Popis tohoto člena najdete v tématu Contains(Object).

IDictionary.IsFixedSize

Popis tohoto člena najdete v tématu IsFixedSize.

IDictionary.IsReadOnly

Popis tohoto člena najdete v tématu IsReadOnly.

IDictionary.Item[Object]

Popis tohoto člena najdete v tématu Item[Object].

IDictionary.Remove(Object)

Popis tohoto člena najdete v tématu Remove(Object).

IEnumerable.GetEnumerator()

Popis tohoto člena najdete v tématu GetEnumerator().

IStateManager.IsTrackingViewState

Získá hodnotu označující, zda jsou sledovány změny stavu.

IStateManager.LoadViewState(Object)

Obnoví dříve uložený stav zobrazení objektu StateBag .

IStateManager.SaveViewState()

Uloží změny objektu StateBag od okamžiku, kdy byla stránka publikována zpět na server.

IStateManager.TrackViewState()

Způsobí, StateBag že objekt bude sledovat změny svého stavu, aby se mohl zachovat napříč požadavky.

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky objektu na IEnumerable zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky objektu IEnumerable na základě zadaného typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede objekt na IEnumerableIQueryable.

Platí pro

Viz také