PageStatePersister.ViewState 屬性

定義

取得或設定物件,表示對 Web 伺服器的 HTTP 要求之間,目前 Page 物件所包含的控制項用以保存的資料。

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 伺服器控制項

適用於