Condividi tramite


Control.SaveControlState Metodo

Definizione

Salva tutte le modifiche dello stato di un controllo server apportate dopo il postback della pagina nel 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

Restituisce

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 SaveControlState metodo 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 su prima di salvare lo stato del Page controllo.

Note per gli eredi

Quando viene salvato lo stato del controllo, 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 panoramica di gestione dello stato di ASP.NET.

Si applica a

Vedi anche