Salva le modifiche allo stato di visualizzazione di un controllo server apportate dal momento in cui è stato eseguito il postback della pagina sul server.
Assembly: System.Web (in System.Web.dll)
Protected Overridable Function SaveViewState As Object
protected virtual Object SaveViewState()
protected: virtual Object^ SaveViewState()
abstract SaveViewState : unit -> Object override SaveViewState : unit -> Object
Valore restituito
Tipo: System.ObjectRestituisce lo stato di visualizzazione corrente del controllo server. Se al controllo non è associato alcuno stato di visualizzazione, questo metodo restituisce null.
Lo stato di visualizzazione è costituito dai valori delle proprietà di un controllo server. Questi valori sono posizionati automaticamente nella proprietà ViewState del controllo server, che rappresenta un'istanza della classe StateBag. Il valore di questa proprietà viene inserito in un oggetto stringa dopo la fase di salvataggio dello stato della durata del controllo server. Per ulteriori informazioni, vedere Cenni preliminari sul ciclo di vita di una pagina ASP.NET.
Una volta salvato lo stato di visualizzazione, l'oggetto stringa viene restituito al client come variabile memorizzata in un elemento HTML HIDDEN. Quando si modifica un controllo server personalizzato con uno stato di visualizzazione personalizzato, è possibile gestire lo stato di visualizzazione in modo esplicito con i metodi SaveViewState e LoadViewState. Per ulteriori informazioni, vedere Cenni preliminari sulla gestione dello stato ASP.NET. Per informazioni sull'implementazione di un provider dello stato sessione personalizzato, vedere Implementazione di un provider dell'archivio dello stato sessione.
Nell'esempio riportato di seguito il metodo SaveViewState in un controllo server personalizzato ASP.NET viene sottoposto a override. 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 entrambe le condizioni sono vere, il controllo modifica la proprietà Text di un controllo server Web Label per leggere Custom Control Has Saved State. Quindi salva lo stato di visualizzazione del controllo come una matrice di oggetti denominata 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
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; }
.NET Framework
Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.