Control.SaveViewState-Methode
Speichert alle Änderungen am Ansichtszustand des Serversteuerelements, die seit dem letzten Postback der Seite an den Server aufgetreten sind.
Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Protected Overridable Function SaveViewState As Object
'Usage
Dim returnValue As Object
returnValue = Me.SaveViewState
protected virtual Object SaveViewState ()
protected:
virtual Object^ SaveViewState ()
protected Object SaveViewState ()
protected function SaveViewState () : Object
Rückgabewert
Gibt den aktuellen Ansichtszustand des Serversteuerelements zurück. Wenn kein dem Steuerelement zugeordneter Ansichtszustand vorhanden ist, gibt die NULL (Nothing in Visual Basic)-Methode zurück.
Hinweise
Der Ansichtszustand besteht in der Ansammlung der Eigenschaftenwerte eines Serversteuerelements. Diese Werte werden automatisch in der ViewState-Eigenschaft des Serversteuerelements platziert, bei der es sich um eine Instanz der StateBag-Klasse handelt. Der Wert dieser Eigenschaft wird dann nach der Zustandsspeicherungsstufe im Lebenszyklus des Serversteuerelements für ein Zeichenfolgenobjekt beibehalten. Weitere Informationen finden Sie unter Übersicht über den Lebenszyklus von ASP.NET-Seiten.
Wenn der Ansichtszustand gespeichert wird, wird dieses Zeichenfolgenobjekt an den Client als Variable zurückgegeben, die in einem HIDDEN-HTML-Element gespeichert wird. Wenn Sie ein benutzerdefiniertes Serversteuerelement mit einem benutzerdefinierten Ansichtszustand erstellen, kann der Ansichtszustand explizit mithilfe der SaveViewState-Methode und der LoadViewState-Methode verwaltet werden. Weitere Informationen finden Sie unter ASP.NET-Zustandsverwaltung. Informationen zum Implementieren eines benutzerdefinierten Anbieters für den Sitzungszustand finden Sie unter Implementieren eines Sitzungszustandsspeicher-Anbieters.
Beispiel
Im folgenden Beispiel wird die SaveViewState-Methode in einem benutzerdefinierten ASP.NET-Serversteuerelement überschrieben. Bei dem Aufruf der Methode wird bestimmt, ob das Steuerelement über untergeordnete Steuerelemente verfügt und ob das enthaltende Page-Objekt Ergebnis eines Postback ist. Wenn beides zutrifft, wird die Text-Eigenschaft eines Label-Webserver-Steuerelements in Custom Control Has Saved State
geändert. Dann wird der Ansichtszustand des Steuerelements als Array von Objekten mit dem Namen allStates
gespeichert.
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
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 Object SaveViewState()
{
// Change Text Property of Label when this function is invoked.
if (HasControls() && get_Page().get_IsPostBack()) {
((Label)(get_Controls().get_Item(0))).set_Text(
"Custom Control Has Saved State");
}
// Save State as a cumulative array of objects.
Object baseState = super.SaveViewState();
String userText = get_UserText();
String passwordText = get_PasswordText();
Object allStates[] = new Object[3];
allStates.set_Item(0, baseState);
allStates.set_Item(1, userText);
allStates.set_Item(2, get_PasswordText());
return allStates;
} //SaveViewState
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
Control-Klasse
Control-Member
System.Web.UI-Namespace
LoadViewState
ViewState
StateBag
Weitere Ressourcen
ASP.NET-Zustandsverwaltung
Implementieren eines Sitzungszustandsspeicher-Anbieters