Nyelv

Control.SaveControlState Metódus

Definíció

Menti azokat a kiszolgálóvezérlő-állapotváltozásokat, amelyek a lap kiszolgálóra való visszatérése óta történtek.

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

Válaszok

A kiszolgálóvezérlő aktuális állapotát adja vissza. Ha nincs állapot társítva a vezérlőelemhez, ez a metódus ad vissza null.

Példák

Az alábbi példakód felülírja a SaveControlState metódust egy egyéni ASP.NET vezérlőelemben. A metódus meghívásakor meghatározza, hogy a belső tulajdonság currentIndex nem alapértelmezett értékre van-e beállítva, és ha igen, menti az értéket az állapot szabályozásához.

A OnInit metódus felül van bírálva, hogy meghívja a RegisterRequiresControlState metódust a Page vezérlőn annak jelzésére, hogy az egyéni vezérlő vezérlőállapotot használ.

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

Megjegyzések

Ezzel a SaveControlState módszerrel mentheti az adott vezérlő működéséhez szükséges állapotadatokat. Ezeket a vezérlőállapot-adatokat a rendszer a vezérlő nézetállapot-adataitól elkülönítve tárolja.

A vezérlőállapotot használó egyéni vezérlőknek meg kell hívniuk a RegisterRequiresControlState metódust a Page vezérlőállapot mentése előtt.

Megjegyzések az öröklőkhöz

A vezérlőállapot mentésekor a rendszer egy HTML-elemben HIDDEN tárolt változóként visszaad egy sztringobjektumot az ügyfélnek. A metódus felülbírálása a vezérlőben használandó állapotinformációk kinyeréséhez.

A vezérlőállapot kis mennyiségű kritikus adathoz, például oldalindexhez vagy kulcsszóhoz használható. A nagy mennyiségű adat vezérlési állapotának használata hátrányosan befolyásolhatja az oldal teljesítményét. További információ: ASP.NET Állapotkezelés áttekintése.

A következőre érvényes:

Lásd még