Edit

Share via


Control.ViewState Property

Definition

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.

protected:
 virtual property System::Web::UI::StateBag ^ ViewState { System::Web::UI::StateBag ^ get(); };
[System.ComponentModel.Browsable(false)]
protected virtual System.Web.UI.StateBag ViewState { get; }
[<System.ComponentModel.Browsable(false)>]
member this.ViewState : System.Web.UI.StateBag
Protected Overridable ReadOnly Property ViewState As StateBag

Property Value

An instance of the StateBag class that contains the server control's view-state information.

Attributes

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 String Text
{
    get 
    { 
        object o = ViewState["Text"]; 
        return (o == null)? String.Empty : (string)o;
    }

    set
    {
        ViewState["Text"] = value;
    }
}

' 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

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.

Applies to

See also