Control.SaveControlState Methode

Definitie

Hiermee worden wijzigingen in de status van de servercontrole opgeslagen die zijn opgetreden sinds het moment dat de pagina op de server is geplaatst.

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

Retouren

Retourneert de huidige status van het serverbeheer. Als er geen status aan het besturingselement is gekoppeld, retourneert nulldeze methode .

Voorbeelden

In het volgende codevoorbeeld wordt de methode SaveControlState in een aangepast ASP.NET besturingselement overschreven. Wanneer deze methode wordt aangeroepen, wordt bepaald of de interne eigenschap currentIndex is ingesteld op een niet-standaardwaarde en, als dat het zo is, wordt de waarde opgeslagen om de status te beheren.

De OnInit methode wordt overschreven om de RegisterRequiresControlState methode aan te roepen om Page aan te geven dat het aangepaste besturingselement de besturingsstatus gebruikt.

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

Opmerkingen

Gebruik de SaveControlState methode om statusgegevens op te slaan die vereist zijn voor de werking van een specifiek besturingselement. Deze controlestatusgegevens worden afzonderlijk van de weergavestatusgegevens van het besturingselement opgeslagen.

Aangepaste besturingselementen met behulp van de besturingsstatus moeten de methode aanroepen voordat u de RegisterRequiresControlStatePage besturingsstatus opslaat.

Notities voor overnemers

Wanneer de besturingsstatus wordt opgeslagen, wordt een tekenreeksobject geretourneerd naar de client als een variabele die is opgeslagen in een HTML-element HIDDEN . Overschrijf deze methode om de statusgegevens te extraheren die u in uw besturingselement wilt gebruiken.

De controlestatus is bedoeld voor kleine hoeveelheden kritieke gegevens, zoals een pagina-index of een trefwoord. Het gebruik van de besturingsstatus voor grote hoeveelheden gegevens kan de prestaties van pagina's nadelig beïnvloeden. Zie ASP.NET State Management Overview voor meer informatie.

Van toepassing op

Zie ook