StateBag Класс

Определение

Управляет состоянием просмотра серверных элементов управления ASP.NET, включая страницы. Этот класс не наследуется.

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

Примеры

В следующем примере кода показан составной Label элемент управления со Text свойствами и FontSize . Эти свойства сохраняются в состоянии представления и извлекаются из них при вызове Control.Render метода в элементе управления .

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

Комментарии

Состояние представления страницы или элемента управления — это совокупные значения свойств или представления этой страницы или элемента управления. Доступ к этому классу Control.ViewState можно получить через свойство . Элементы управления также могут хранить важные сведения о состоянии в состоянии элемента управления, но эти сведения не хранятся в виде StateBag объекта.

Этот класс является основным механизмом хранения для всех элементов управления HTML и веб-сервера. В нем хранятся пары "атрибут-значение" в виде строк, связанных с элементом управления . Он отслеживает изменения этих атрибутов только после OnInit выполнения метода для запроса страницы и сохраняет изменения в состоянии просмотра страницы или элемента управления.

Этот класс реализует словарь, и вы можете добавлять в него элементы или удалять элементы из него, как и любой объект словаря. Дополнительные сведения о коллекциях данных, таких как словари, см. в разделе Коллекции и структуры данных.

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

StateBag()

Инициализирует новый экземпляр класса StateBag. Это конструктор без параметров для этого класса.

StateBag(Boolean)

Инициализирует новый экземпляр класса StateBag, позволяющий задавать сохраненные значения состояния без учета регистра.

Свойства

Count

Возвращает количество объектов StateItem в объекте StateBag.

Item[String]

Возвращает или задает значение элемента, хранящегося в объекте StateBag.

Keys

Возвращает коллекцию ключей, представляющих элементы объекта StateBag.

Values

Возвращает коллекцию значений состояния представления, хранящихся в объекте StateBag.

Методы

Add(String, Object)

Добавляет новый объект StateItem к объекту StateBag. Если указанный элемент уже существует в объекте StateBag, этот метод обновляет его значение.

Clear()

Удаляет все элементы из текущего объекта StateBag.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetEnumerator()

Возвращает перечислитель, проходящий по всем парам "ключ-значение" объектов StateItem, содержащихся в StateBag.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

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

(Унаследовано от Object)
IsItemDirty(String)

Проверяет, был ли изменен объект StateItem, содержащийся в StateBag, с момента вызова метода TrackViewState().

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
Remove(String)

Удаляет указанную пару "ключ-значение" из объекта StateBag.

SetDirty(Boolean)

Задает состояние объекта StateBag, а также свойство Dirty каждого из объектов StateItem, содержащихся в нем.

SetItemDirty(String, Boolean)

Задает свойство Dirty для указанного объекта StateItem в объекте StateBag.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

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

ICollection.CopyTo(Array, Int32)

Описание этого члена см. в разделе CopyTo(Array, Int32).

ICollection.IsSynchronized

Описание этого члена см. в разделе IsSynchronized.

ICollection.SyncRoot

Описание этого члена см. в разделе SyncRoot.

IDictionary.Add(Object, Object)

Описание этого члена см. в разделе Add(Object, Object).

IDictionary.Contains(Object)

Описание этого члена см. в разделе Contains(Object).

IDictionary.IsFixedSize

Описание этого члена см. в разделе IsFixedSize.

IDictionary.IsReadOnly

Описание этого члена см. в разделе IsReadOnly.

IDictionary.Item[Object]

Описание этого члена см. в разделе Item[Object].

IDictionary.Remove(Object)

Описание этого члена см. в разделе Remove(Object).

IEnumerable.GetEnumerator()

Описание этого члена см. в разделе GetEnumerator().

IStateManager.IsTrackingViewState

Возвращает значение, указывающее, отслеживаются ли изменения состояния.

IStateManager.LoadViewState(Object)

Восстанавливает сохраненное раннее состояние представления из объекта StateBag.

IStateManager.SaveViewState()

Сохраняет изменения в объекте StateBag после того, как страница отправлена на сервер.

IStateManager.TrackViewState()

Вызывает объект StateBag для отслеживания изменений состояния, позволяя сохранять его в запросах.

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

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

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

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

См. также раздел