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