Control.SaveControlState Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Salva le modifiche apportate allo stato del controllo server dopo il postback della pagina al server.
protected public:
virtual System::Object ^ SaveControlState();
protected internal virtual object SaveControlState();
abstract member SaveControlState : unit -> obj
override this.SaveControlState : unit -> obj
Protected Friend Overridable Function SaveControlState () As Object
Valori restituiti
Restituisce lo stato corrente del controllo server. Se al controllo non è associato alcuno stato, questo metodo restituisce null.
Esempio
Nell'esempio di codice seguente viene eseguito l'override del metodo SaveControlState in un controllo ASP.NET personalizzato. Quando questo metodo viene richiamato, determina se la proprietà currentIndex interna è impostata su un valore non predefinito e, in tal caso, salva il valore in stato di controllo.
Il OnInit metodo viene sottoposto a override per chiamare il RegisterRequiresControlState metodo su Page per indicare che il controllo personalizzato utilizza lo stato del controllo.
public class Sample : Control {
private int currentIndex = 0;
protected override void OnInit(EventArgs e) {
Page.RegisterRequiresControlState(this);
base.OnInit(e);
}
protected override object SaveControlState() {
return currentIndex != 0 ? (object)currentIndex : null;
}
protected override void LoadControlState(object state) {
if (state != null) {
currentIndex = (int)state;
}
}
}
Class Sample
Inherits Control
Dim currentIndex As Integer
Protected Overrides Sub OnInit(ByVal e As EventArgs)
Page.RegisterRequiresControlState(Me)
currentIndex = 0
MyBase.OnInit(e)
End Sub
Protected Overrides Function SaveControlState() As Object
If currentIndex <> 0 Then
Return CType(currentIndex, Object)
Else
Return Nothing
End If
End Function
Protected Overrides Sub LoadControlState(ByVal state As Object)
If (state <> Nothing) Then
currentIndex = CType(state, Integer)
End If
End Sub
End Class
Commenti
Utilizzare il SaveControlState metodo per salvare le informazioni sullo stato necessarie per l'operazione di un controllo specifico. Questi dati sullo stato del controllo vengono archiviati separatamente dai dati dello stato di visualizzazione del controllo.
I controlli personalizzati che usano lo stato del controllo devono chiamare il RegisterRequiresControlState metodo sul Page prima di salvare lo stato del controllo.
Note per gli eredi
Quando lo stato del controllo viene salvato, un oggetto stringa viene restituito al client come variabile archiviata in un elemento HTML HIDDEN . Eseguire l'override di questo metodo per estrarre le informazioni sullo stato da usare nel controllo.
Lo stato del controllo è destinato a piccole quantità di dati critici, ad esempio un indice di pagina o una parola chiave. L'uso dello stato di controllo per grandi quantità di dati può influire negativamente sulle prestazioni della pagina. Per altre informazioni, vedere ASP.NET State Management Overview .For more information, see ASP.NET State Management Overview.