StateBag StateBag StateBag StateBag Class

Определение

Управляет состоянием представления ASP.NET серверных элементов управления, включая страницы.Manages the view state of ASP.NET server controls, including pages. Этот класс не наследуется.This class cannot be inherited.

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
Наследование
StateBagStateBagStateBagStateBag
Реализации

Примеры

В следующем примере кода демонстрируется составной Label элемент управления, который имеет Text свойства и FontSize .The following code example demonstrates a composite Label control that has Text and FontSize properties. Эти свойства сохраняются и извлекаются из состояния представления при Control.Render вызове метода для элемента управления.These properties are saved to and retrieved from view state when the Control.Render method is called on the control.

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

Комментарии

Состояние представления для страницы или элемента управления — это совокупные значения свойств (или представления) этой страницы или элемента управления.View state for a page or control is the cumulative property values, or view, of that page or control. Доступ к этому классу можно получить Control.ViewState через свойство.You can access this class through the Control.ViewState property. Элементы управления также могут хранить сведения о критических состояниях в состоянии элемента управления, но эти сведения StateBag не хранятся в виде объекта.Controls can also store essential state information in control state, but that information is not stored as a StateBag object.

Этот класс является основным механизмом хранения для всех серверных элементов управления HTML и веб-сервера.This class is the primary storage mechanism for all HTML and Web server controls. Пары "атрибут-значение" хранятся в виде строк, связанных с элементом управления.It stores attribute/value pairs as strings associated with the control. Он отслеживает изменения этих атрибутов только после OnInit выполнения метода для запроса страницы и сохраняет изменения в состоянии представления страницы или элемента управления.It tracks changes to these attributes only after the OnInit method is executed for a page request, and saves the changes to the page's or control's view state.

Этот класс реализует словарь, и к нему можно добавлять элементы или удалять элементы, как и любой объект Dictionary.This class implements a dictionary, and you can add items to it or remove items from it as you would any dictionary object. Дополнительные сведения о коллекциях данных, таких как словари, см. в разделе коллекции и структуры данных.For more information about data collections, such as dictionaries, see Collections and Data Structures.

Конструкторы

StateBag() StateBag() StateBag() StateBag()

Инициализирует новый экземпляр класса StateBag.Initializes a new instance of the StateBag class. Это конструктор без параметров для этого класса.This is the parameterless constructor for this class.

StateBag(Boolean) StateBag(Boolean) StateBag(Boolean) StateBag(Boolean)

Инициализирует новый экземпляр класса StateBag, позволяющий задавать сохраненные значения состояния без учета регистра.Initializes a new instance of the StateBag class that allows stored state values to be case-insensitive.

Свойства

Count Count Count Count

Возвращает число объектов StateItem в объект StateBag.Gets the number of StateItem objects in the StateBag object.

Item[String] Item[String] Item[String] Item[String]

Возвращает или задает значение элемента, хранящегося в объекте StateBag.Gets or sets the value of an item stored in the StateBag object.

Keys Keys Keys Keys

Возвращает коллекцию ключей, представляющих элементы объекта StateBag.Gets a collection of keys representing the items in the StateBag object.

Values Values Values Values

Возвращает коллекцию значений состояния представления, хранящихся в объекте StateBag.Gets a collection of the view-state values stored in the StateBag object.

Методы

Add(String, Object) Add(String, Object) Add(String, Object) Add(String, Object)

Добавляет новый объект StateItem к объекту StateBag.Adds a new StateItem object to the StateBag object. Если указанный элемент уже существует в объекте StateBag, этот метод обновляет его значение.If the item already exists in the StateBag object, this method updates the value of the item.

Clear() Clear() Clear() Clear()

Удаляет все элементы из текущего объекта StateBag.Removes all items from the current StateBag object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Возвращает перечислитель, проходящий по всем парам "ключ-значение" объектов StateItem, содержащихся в StateBag.Returns an enumerator that iterates over all the key/value pairs of the StateItem objects stored in the StateBag object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
IsItemDirty(String) IsItemDirty(String) IsItemDirty(String) IsItemDirty(String)

Проверяет, был ли изменен объект StateItem, содержащийся в StateBag, с момента вызова метода TrackViewState().Checks a StateItem object stored in the StateBag object to evaluate whether it has been modified since the call to TrackViewState().

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(String) Remove(String) Remove(String) Remove(String)

Удаляет указанную пару "ключ-значение" из объекта StateBag.Removes the specified key/value pair from the StateBag object.

SetDirty(Boolean) SetDirty(Boolean) SetDirty(Boolean) SetDirty(Boolean)

Задает состояние объекта StateBag, а также свойство Dirty каждого из объектов StateItem, содержащихся в нем.Sets the state of the StateBag object as well as the Dirty property of each of the StateItem objects contained by it.

SetItemDirty(String, Boolean) SetItemDirty(String, Boolean) SetItemDirty(String, Boolean) SetItemDirty(String, Boolean)

Задает свойство Dirty для указанного объекта StateItem в объекте StateBag.Sets the Dirty property for the specified StateItem object in the StateBag object.

ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Явные реализации интерфейса

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)

Описание этого члена см. в разделе CopyTo(Array, Int32).For a description of this member, see CopyTo(Array, Int32).

ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized

Описание этого члена см. в разделе IsSynchronized.For a description of this member, see IsSynchronized.

ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot

Описание этого члена см. в разделе SyncRoot.For a description of this member, see SyncRoot.

IDictionary.Add(Object, Object) IDictionary.Add(Object, Object) IDictionary.Add(Object, Object) IDictionary.Add(Object, Object)

Описание этого члена см. в разделе Add(Object, Object).For a description of this member, see Add(Object, Object).

IDictionary.Contains(Object) IDictionary.Contains(Object) IDictionary.Contains(Object) IDictionary.Contains(Object)

Описание этого члена см. в разделе Contains(Object).For a description of this member, see Contains(Object).

IDictionary.IsFixedSize IDictionary.IsFixedSize IDictionary.IsFixedSize IDictionary.IsFixedSize

Описание этого члена см. в разделе IsFixedSize.For a description of this member, see IsFixedSize.

IDictionary.IsReadOnly IDictionary.IsReadOnly IDictionary.IsReadOnly IDictionary.IsReadOnly

Описание этого члена см. в разделе IsReadOnly.For a description of this member, see IsReadOnly.

IDictionary.Item[Object] IDictionary.Item[Object] IDictionary.Item[Object] IDictionary.Item[Object]

Описание этого члена см. в разделе Item[Object].For a description of this member, see Item[Object].

IDictionary.Remove(Object) IDictionary.Remove(Object) IDictionary.Remove(Object) IDictionary.Remove(Object)

Описание этого члена см. в разделе Remove(Object).For a description of this member, see Remove(Object).

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Описание этого члена см. в разделе GetEnumerator().For a description of this member, see GetEnumerator().

IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState

Возвращает значение, указывающее, отслеживаются ли изменения состояния.Gets a value indicating whether state changes are being tracked.

IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object)

Восстанавливает сохраненное раннее состояние представления из объекта StateBag.Restores the previously saved view state of the StateBag object.

IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState()

Сохраняет изменения в объекте StateBag после того, как страница отправлена на сервер.Saves the changes to the StateBag object since the time the page was posted back to the server.

IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState()

Вызывает объект StateBag для отслеживания изменений состояния, позволяя сохранять его в запросах.Causes the StateBag object to track changes to its state so that it can be persisted across requests.

Методы расширения

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.Converts an IEnumerable to an IQueryable.

Применяется к

Дополнительно