PageStatePersister.ViewState Property


Gets or sets an object that represents the data that controls contained by the current Page object use to persist across HTTP requests to the Web server.

 property System::Object ^ ViewState { System::Object ^ get(); void set(System::Object ^ value); };
public object ViewState { get; set; }
member this.ViewState : obj with get, set
Public Property ViewState As Object

Property Value


An object that contains view state data.


The following code example demonstrates how a class that derives from the PageStatePersister class initializes the ViewState property. In this example, the ViewState property has been assigned to the First field of a Pair object, and serialized using the ObjectStateFormatter object, which is an instance of the IStateFormatter interface. When the Load method is called, the ObjectStateFormatter interface is used to deserialize view state information, and the ViewState property is initialized from the resulting Pair object's First field. This code example is part of a larger example provided for the PageStatePersister class.

// Load ViewState and ControlState.
public override void Load()
    Stream stateStream = GetSecureStream();

    // Read the state string, using the StateFormatter.
    StreamReader reader = new StreamReader(stateStream);

    IStateFormatter formatter = this.StateFormatter;
    string fileContents = reader.ReadToEnd();

    // Deserilize returns the Pair object that is serialized in
    // the Save method.
    Pair statePair = (Pair)formatter.Deserialize(fileContents);

    ViewState = statePair.First;
    ControlState = statePair.Second;
' Load ViewState and ControlState.
Public Overrides Sub Load()

    Dim stateStream As Stream
    stateStream = GetSecureStream()

    ' Read the state string, using the StateFormatter.
    Dim reader As New StreamReader(stateStream)

    Dim serializedStatePair As String
    serializedStatePair = reader.ReadToEnd
    Dim statePair As Pair

    Dim formatter As IStateFormatter
    formatter = Me.StateFormatter

    ' Deserilize returns the Pair object that is serialized in
    ' the Save method.      
    statePair = CType(formatter.Deserialize(serializedStatePair), Pair)

    ViewState = statePair.First
    ControlState = statePair.Second
End Sub


View state is a dictionary of state data that Web server controls need to function and render themselves. Control developers typically access the view state object using the ViewState property. View state is affected when view state is disabled at the Page level, and as a result controls might not behave correctly in these scenarios. For more information on using ViewState and control state when developing controls, see Developing Custom ASP.NET Server Controls.

Applies to