Control.SaveViewState Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapisuje wszelkie zmiany stanu widoku kontroli serwera, które wystąpiły od czasu opublikowania strony z powrotem na serwerze.
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
Zwraca
Zwraca bieżący stan widoku kontrolki serwera. Jeśli nie ma stanu widoku skojarzonego z kontrolką, ta metoda zwraca wartość null
.
Przykłady
Poniższy przykład zastępuje metodę SaveViewState w niestandardowej kontroli serwera ASP.NET. Po wywołaniu tej metody określa, czy kontrolka ma jakiekolwiek kontrolki podrzędne i czy obiekt zawierający Page jest wynikiem ogłaszania zwrotnego. Jeśli oba są prawdziwe, zmienia Text właściwość kontrolki Label serwera sieci Web w celu odczytu Custom Control Has Saved State
. Następnie zapisuje stan widoku kontrolki jako tablicę obiektów o nazwie 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
Uwagi
Stan widoku to akumulacja wartości właściwości kontrolki serwera. Te wartości są automatycznie umieszczane we właściwości kontrolki ViewState serwera, która jest wystąpieniem StateBag klasy. Wartość tej właściwości jest następnie utrwalana w obiekcie ciągu po etapie zapisywania stanu cyklu życia sterowania serwerem. Aby uzyskać więcej informacji, zobacz omówienie cyklu życia strony ASP.NET.
Po zapisaniu stanu widoku ten obiekt ciągu jest zwracany do klienta jako zmienna przechowywana w elemecie HTML HIDDEN
. Podczas tworzenia niestandardowej kontrolki serwera z niestandardowym stanem widoku można jawnie zarządzać stanem widoku za SaveViewState pomocą metod i LoadViewState . Aby uzyskać więcej informacji, zobacz omówienie zarządzania stanem ASP.NET. Aby uzyskać informacje na temat implementowania niestandardowego dostawcy stanu sesji, zobacz Implementowanie dostawcy magazynu Session-State.