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


Control.SaveViewState Метод

Определение

Сохраняет все изменения состояния представления представления сервера, которые произошли с момента отправки страницы на сервер.

protected:
 virtual System::Object ^ SaveViewState();
protected virtual object SaveViewState();
abstract member SaveViewState : unit -> obj
override this.SaveViewState : unit -> obj
Protected Overridable Function SaveViewState () As Object

Возвращаемое значение

Возвращает текущее состояние представления элемента управления сервера. Если с элементом управления нет состояния представления, этот метод возвращается null.

Примеры

В следующем примере метод переопределяется SaveViewState в пользовательском элементе управления ASP.NET сервера. При вызове этого метода определяется, имеет ли элемент управления какие-либо дочерние элементы управления и является ли Page содержащий объект результатом обратной передачи. Если оба имеют значение true, он изменяет Text свойство Label элемента управления веб-сервера на чтение Custom Control Has Saved State. Затем он сохраняет состояние представления элемента управления в виде массива объектов с именем allStates.

protected override object SaveViewState()
{  // Change Text Property of Label when this function is invoked.
   if(HasControls() && (Page.IsPostBack))
   {
      ((Label)(Controls[0])).Text = "Custom Control Has Saved State";
   }
   // Save State as a cumulative array of objects.
   object baseState = base.SaveViewState();
   string userText = UserText;
   string passwordText = PasswordText;
   object[] allStates = new object[3];
   allStates[0] = baseState;
   allStates[1] = userText;
   allStates[2] = PasswordText;
   return allStates;
}
Protected Overrides Function SaveViewState() As Object
   ' Change Text Property of Label when this function is invoked.
   If HasControls() And Page.IsPostBack Then
      CType(Controls(0), Label).Text = "Custom Control Has Saved State"
   End If
   ' Save State as a cumulative array of objects.
   Dim baseState As Object = MyBase.SaveViewState()
   Dim _userText As String = UserText
   Dim _passwordText As String = PasswordText
   Dim allStates(3) As Object
   allStates(0) = baseState
   allStates(1) = _userText
   allStates(2) = PasswordText
   Return allStates
End Function

Комментарии

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

При сохранении состояния представления этот строковый объект возвращается клиенту в виде переменной, хранящейся в HTML-элементе HIDDEN . При создании пользовательского серверного элемента управления с пользовательским состоянием представления состояние представления можно управлять явным образом с помощью SaveViewState методов и LoadViewState методов. Дополнительные сведения см. в ASP.NET обзоре управления состояниями. Сведения о реализации пользовательского поставщика состояния сеанса см. в разделе "Реализация поставщика хранилища Session-State".

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

См. также раздел