Skip to main content
.NET Framework Class Library
Control..::.ViewState Property

Gets a dictionary of state information that allows you to save and restore the view state of a server control across multiple requests for the same page.

Namespace: System.Web.UI
Assembly: System.Web (in System.Web.dll)
Syntax
<BrowsableAttribute(False)> _
Protected Overridable ReadOnly Property ViewState As StateBag
	Get
[BrowsableAttribute(false)]
protected virtual StateBag ViewState { get; }
[BrowsableAttribute(false)]
protected:
virtual property StateBag^ ViewState {
	StateBag^ get ();
}
[<BrowsableAttribute(false)>]
abstract ViewState : StateBag
[<BrowsableAttribute(false)>]
override ViewState : StateBag

Property Value

Type: System.Web.UI..::.StateBag
An instance of the StateBag class that contains the server control's view-state information.
Remarks

A server control's view state is the accumulation of all its property values. In order to preserve these values across HTTP requests, ASP.NET server controls use this property, which is an instance of the StateBag class, to store the property values. The values are then passed as a variable to an HTML hidden input element when subsequent requests are processed. For more information about saving server control view state, see ASP.NET State Management Overview.

View state is enabled for all server controls by default, but there are circumstances in which you will want to disable it. For more information, see ASP.NET Performance Overview.

For information about dictionaries and how to use them, see Collections and Data Structures.

Examples

The following example demonstrates implementing a Text property that stores and retrieves its value from its control's ViewState property.


        ' 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



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


Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.