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 отслеживание изменений в состоянии объекта, чтобы его можно было сохранить в запросах. |
Методы расширения
| Имя | Описание |
|---|---|
| AsParallel(IEnumerable) |
Включает параллелизацию запроса. |
| AsQueryable(IEnumerable) |
Преобразует IEnumerable в IQueryable. |
| Cast<TResult>(IEnumerable) |
Приведение элементов IEnumerable к указанному типу. |
| OfType<TResult>(IEnumerable) |
Фильтрует элементы IEnumerable на основе указанного типа. |