UserControl.LoadViewState(Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Восстанавливает сведения о состоянии представления из предыдущего запроса пользовательского элемента управления, сохраненного методом SaveViewState().
protected:
override void LoadViewState(System::Object ^ savedState);
protected override void LoadViewState (object savedState);
override this.LoadViewState : obj -> unit
Protected Overrides Sub LoadViewState (savedState As Object)
Параметры
- savedState
- Object
Параметр Object, представляющий восстанавливаемое состояние пользовательского элемента управления.
Примеры
В следующем примере показан пользовательский элемент управления, который управляет своим состоянием LoadViewState представления с помощью методов и SaveViewState .
public string UserText
{
get
{
return (string)ViewState["usertext"];
}
set
{
ViewState["usertext"] = value;
}
}
public string PasswordText
{
get
{
return (string)ViewState["passwordtext"];
}
set
{
ViewState["passwordtext"] = value;
}
}
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
protected override void LoadViewState(object savedState)
{
object[] totalState = null;
if (savedState != null)
{
totalState = (object[])savedState;
if (totalState.Length != 3)
{
// Throw an appropriate exception.
}
// Load base state.
base.LoadViewState(totalState[0]);
// Load extra information specific to this control.
if (totalState != null && totalState[1] != null && totalState[2] != null)
{
UserText = (string)totalState[1];
PasswordText = (string)totalState[2];
}
}
}
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
protected override object SaveViewState()
{
object baseState = base.SaveViewState();
object[] totalState = new object[3];
totalState[0] = baseState;
totalState[1] = user.Text;
totalState[2] = password.Text;
return totalState;
}
Public Property UserText() As String
Get
Return CStr(ViewState("usertext"))
End Get
Set(ByVal value As String)
ViewState("usertext") = value
End Set
End Property
Public Property PasswordText() As String
Get
Return CStr(ViewState("passwordtext"))
End Get
Set(ByVal value As String)
ViewState("passwordtext") = value
End Set
End Property
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Sub LoadViewState(ByVal savedState As Object)
Dim totalState As Object() = Nothing
If Not (savedState Is Nothing) Then
totalState = CType(savedState, Object())
If totalState.Length <> 3 Then
' Throw an appropriate exception.
End If
' Load base state.
MyBase.LoadViewState(totalState(0))
' Load extra information specific to this control.
If Not (totalState Is Nothing) AndAlso Not (totalState(1) Is Nothing) AndAlso Not (totalState(2) Is Nothing) Then
UserText = CStr(totalState(1))
PasswordText = CStr(totalState(2))
End If
End If
End Sub
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Function SaveViewState() As Object
Dim baseState As Object = MyBase.SaveViewState()
Dim totalState(2) As Object
totalState(0) = baseState
totalState(1) = user.Text
totalState(2) = password.Text
Return totalState
End Function
End Class
Комментарии
Этот метод используется в основном инфраструктурой .NET Framework и не предназначен для непосредственного использования из кода. Однако разработчики элементов управления могут переопределить этот метод, чтобы указать, как пользовательский серверный элемент управления восстанавливает свое состояние представления. Дополнительные сведения см. в статье Общие сведения об управлении состоянием ASP.NET.
Значение состояния представления можно загрузить в поле, чтобы его не нужно было извлекать из Control.ViewState свойства позже. Вы также можете вставить значение в ViewState свойство непосредственно перед вызовом SaveViewState , что является эффективным способом сохранения поля во время кругового пути к серверу.