Condividi tramite


Control.SaveViewState Metodo

Definizione

Salva eventuali modifiche dello stato di visualizzazione di un controllo server apportate dopo il postback della pagina nel server.

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

Restituisce

Restituisce lo stato di visualizzazione corrente del controllo server. Se al controllo non è associato alcuno stato di visualizzazione, questo metodo restituisce null.

Esempio

Nell'esempio seguente viene eseguito l'override del SaveViewState metodo in un controllo server di ASP.NET personalizzato. Quando questo metodo viene richiamato, determina se il controllo dispone di controlli figlio e se l'oggetto contenitore Page è il risultato di un postback. Se entrambi sono true, la proprietà di un Label controllo server Web viene modificata Text in modo da leggere Custom Control Has Saved State. Salva quindi lo stato di visualizzazione del controllo come matrice di oggetti, denominato 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

Commenti

Lo stato di visualizzazione è l'accumulo dei valori delle proprietà di un controllo server. Questi valori vengono inseriti automaticamente nella proprietà del ViewState controllo server, ovvero un'istanza della StateBag classe . Il valore di questa proprietà viene quindi salvato in modo permanente in un oggetto stringa dopo la fase di salvataggio dello stato del ciclo di vita del controllo server. Per altre informazioni, vedere panoramica del ciclo di vita della pagina ASP.NET.

Quando viene salvato lo stato di visualizzazione, questo oggetto stringa viene restituito al client come variabile archiviata in un elemento HTML HIDDEN . Quando si crea un controllo server personalizzato con uno stato di visualizzazione personalizzato, lo stato di visualizzazione può essere gestito in modo esplicito con i SaveViewState metodi e LoadViewState . Per altre informazioni, vedere panoramica di gestione dello stato di ASP.NET. Per informazioni sull'implementazione di un provider di stato sessione personalizzato, vedere Implementazione di un provider di archiviazione Session-State.

Si applica a

Vedi anche