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