StateBag Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 | |
| 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. |