PageStatePersister.ViewState 属性

定义

获取或设置一个对象,该对象表示当前 Page 对象包含的控件用于跨 Web 服务器的 HTTP 请求保留的数据。

public:
 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

属性值

包含视图状态数据的对象。

示例

下面的代码示例演示派生自 PageStatePersister 类的类如何初始化 ViewState 属性。 在此示例中, ViewState 属性已分配给 First 对象的 字段 Pair ,并使用 ObjectStateFormatter 对象进行序列化,该对象是 接口的 IStateFormatter 实例。 Load调用 方法时, ObjectStateFormatter 接口用于反序列化视图状态信息,并从ViewState生成的 Pair 对象的 First 字段初始化 属性。 此代码示例是为 PageStatePersister 类提供的一个更大示例的一部分。

//
// 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;
    reader.Close();
    stateStream.Close();
}
'
' 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
    reader.Close()
    stateStream.Close()
End Sub

注解

视图状态是 Web 服务器控件运行和呈现自身所需的状态数据的字典。 控件开发人员通常使用 ViewState 属性访问视图状态对象。 在级别禁用 Page 视图状态时,视图状态会受到影响,因此控件在这些情况下可能无法正常运行。 有关开发控件时使用 ViewState 和 控件状态的详细信息,请参阅 开发自定义 ASP.NET 服务器控件

适用于