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".