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


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, свойство серверного Label веб-элемента управления изменяется Text на чтение 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.

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

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