Поделиться через


PageStatePersister.ViewState Свойство

Определение

Возвращает или задает объект, представляющий данные, которые элементы управления, содержащиеся в текущем объекте Page, используют для сохранения в 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 свойство было назначено полю FirstPair объекта и сериализовано с помощью 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

Комментарии

Состояние представления — это словарь данных о состоянии, которые должны функционировать и отрисовываться элементами управления веб-сервера. Разработчики управления обычно обращаются к объекту состояния представления с помощью ViewState свойства . Состояние представления влияет, когда состояние представления отключено на Page уровне, и в результате элементы управления могут работать неправильно в этих сценариях. Дополнительные сведения об использовании ViewState и состоянии элемента управления при разработке элементов управления см. в разделе Разработка пользовательских элементов управления ASP.NET Server.

Применяется к