UserControl.SaveViewState 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
儲存任何使用者控制項檢視狀態的變更,這些變更是自最後一次網頁回傳後發生的。
protected:
override System::Object ^ SaveViewState();
protected override object SaveViewState ();
override this.SaveViewState : unit -> obj
Protected Overrides Function SaveViewState () As Object
傳回
傳回使用者控制項的目前檢視狀態。 如果沒有與控制項相關的檢視狀態,則傳回 null
。
範例
下列範例示範使用 和 SaveViewState 方法來管理其檢視狀態 LoadViewState 的使用者控制項。
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
備註
一般而言,您不需要呼叫此方法。 不過,如果您將自訂資訊儲存在檢視狀態,您可以覆寫這個方法來執行此動作。