StateBag Třída

Definice

Spravuje stav zobrazení ovládacích prvků serveru ASP.NET včetně stránek. Tuto třídu nelze 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 a FontSize vlastnosti. Tyto vlastnosti jsou uloženy a načteny ze stavu zobrazení, když Control.Render je metoda volána na 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 je kumulativní hodnoty vlastností nebo zobrazení této 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 ovládacího prvku, ale tyto informace nejsou uloženy jako StateBag objekt.

Tato třída je primárním mechanismem úložiště pro všechny ovládací prvky HTML a webového serveru. Ukládá páry atributů a hodnot jako řetězce přidružené k ovládacímu prvku. Sleduje změny těchto atributů až po OnInit provedení metody pro požadavek na stránku 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 odebírat položky stejně jako jakýkoliv objekt slovníku. Další informace o kolekcích 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 StateBag třídy, která umožňuje ukládat hodnoty stavu být nerozlišující 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ž v objektu StateBag existuje, 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í výčet, který iteruje všechny páry klíč/hodnota objektů uložených StateItem v objektu StateBag .

GetHashCode()

Slouží jako výchozí funkce hash.

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

Type Získá aktuální instanci.

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

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

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

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

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

SetDirty(Boolean)

Nastaví stav StateBag objektu a Dirty také vlastnost jednotlivých StateItem objektů obsažených v objektu.

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í, jestli se sledují změny stavu.

IStateManager.LoadViewState(Object)

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

IStateManager.SaveViewState()

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

IStateManager.TrackViewState()

StateBag Způsobí, že objekt bude sledovat změny stavu, aby mohl být trvalý napříč požadavky.

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky zadaného IEnumerable typu.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable založené na zadaném typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede na IEnumerable IQueryable.

Platí pro

Viz také