Sdílet prostřednictvím


StateBag Třída

Definice

Spravuje stav zobrazení ovládacích prvků serveru ASP.NET včetně stránek. Tuto třídu nelze zdě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 do a načteny ze stavu zobrazení, když Control.Render metoda je 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

Zobrazení stavu 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 ve 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 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í odebírat položky stejně jako jakýkoli objekt slovníku. Další informace o kolekcích dat, jako jsou slovníky, najdete v tématu Kolekce a datové struktury.

Konstruktory

Name Description
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, aby uložené stavové hodnoty byly nerozlišující malá a velká písmena.

Vlastnosti

Name Description
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í položky v objektu StateBag .

Values

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

Metody

Name Description
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čuje, zda je zadaný objekt roven 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í funkce hash.

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

Získá Type aktuální instance.

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

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

MemberwiseClone()

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

(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 StateItem z 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í

Name Description
ICollection.CopyTo(Array, Int32)

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

ICollection.IsSynchronized

Popis tohoto člena naleznete v tématu IsSynchronized.

ICollection.SyncRoot

Popis tohoto člena naleznete v tématu SyncRoot.

IDictionary.Add(Object, Object)

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

IDictionary.Contains(Object)

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

IDictionary.IsFixedSize

Popis tohoto člena naleznete v tématu IsFixedSize.

IDictionary.IsReadOnly

Popis tohoto člena naleznete v tématu IsReadOnly.

IDictionary.Item[Object]

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

IDictionary.Remove(Object)

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

IEnumerable.GetEnumerator()

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

IStateManager.IsTrackingViewState

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

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 odeslána zpět na server.

IStateManager.TrackViewState()

Způsobí, že StateBag objekt bude sledovat změny v jeho stavu, aby se mohl uchovávat napříč požadavky.

Metody rozšíření

Name Description
AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable.

Cast<TResult>(IEnumerable)

Přetypuje prvky IEnumerable na zadaný typ.

OfType<TResult>(IEnumerable)

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

Platí pro

Viz také