Udostępnij za pośrednictwem


Control.SaveViewState Metoda

Definicja

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.

Dotyczy

Zobacz też