StateBag Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
- Inheritance
-
StateBag
- Implements
Examples
The following code example demonstrates a composite Label
control that has Text
and FontSize
properties. 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
Remarks
View state for a page or control is the cumulative property values, or view, of that page or control. You can access this class through the Control.ViewState property. Controls can also store essential state information in control state, but that information is not stored as a StateBag object.
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. 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.
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.
Constructors
StateBag() |
Initializes a new instance of the StateBag class. This is the parameterless constructor for this class. |
StateBag(Boolean) |
Initializes a new instance of the StateBag class that allows stored state values to be case-insensitive. |
Properties
Count |
Gets the number of StateItem objects in the StateBag object. |
Item[String] |
Gets or sets the value of an item stored in the StateBag object. |
Keys |
Gets a collection of keys representing the items in the StateBag object. |
Values |
Gets a collection of the view-state values stored in the StateBag object. |
Methods
Add(String, Object) |
Adds a new StateItem object to the StateBag object. If the item already exists in the StateBag object, this method updates the value of the item. |
Clear() |
Removes all items from the current StateBag object. |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetEnumerator() |
Returns an enumerator that iterates over all the key/value pairs of the StateItem objects stored in the StateBag object. |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
IsItemDirty(String) |
Checks a StateItem object stored in the StateBag object to evaluate whether it has been modified since the call to TrackViewState(). |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
Remove(String) |
Removes the specified key/value pair from the StateBag object. |
SetDirty(Boolean) |
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) |
Sets the Dirty property for the specified StateItem object in the StateBag object. |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
Explicit Interface Implementations
ICollection.CopyTo(Array, Int32) |
For a description of this member, see CopyTo(Array, Int32). |
ICollection.IsSynchronized |
For a description of this member, see IsSynchronized. |
ICollection.SyncRoot |
For a description of this member, see SyncRoot. |
IDictionary.Add(Object, Object) |
For a description of this member, see Add(Object, Object). |
IDictionary.Contains(Object) |
For a description of this member, see Contains(Object). |
IDictionary.IsFixedSize |
For a description of this member, see IsFixedSize. |
IDictionary.IsReadOnly |
For a description of this member, see IsReadOnly. |
IDictionary.Item[Object] |
For a description of this member, see Item[Object]. |
IDictionary.Remove(Object) |
For a description of this member, see Remove(Object). |
IEnumerable.GetEnumerator() |
For a description of this member, see GetEnumerator(). |
IStateManager.IsTrackingViewState |
Gets a value indicating whether state changes are being tracked. |
IStateManager.LoadViewState(Object) |
Restores the previously saved view state of the StateBag object. |
IStateManager.SaveViewState() |
Saves the changes to the StateBag object since the time the page was posted back to the server. |
IStateManager.TrackViewState() |
Causes the StateBag object to track changes to its state so that it can be persisted across requests. |
Extension Methods
Cast<TResult>(IEnumerable) |
Casts the elements of an IEnumerable to the specified type. |
OfType<TResult>(IEnumerable) |
Filters the elements of an IEnumerable based on a specified type. |
AsParallel(IEnumerable) |
Enables parallelization of a query. |
AsQueryable(IEnumerable) |
Converts an IEnumerable to an IQueryable. |