Control.SaveViewState Metoda

Definicja

Zapisuje wszelkie zmiany stanu widoku kontroli serwera, które wystąpiły od czasu opublikowania strony z powrotem na serwerze.

C#
protected virtual object SaveViewState();

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.

C#
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;
}

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

Produkt Wersje
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Zobacz też