Aracılığıyla paylaş


Control.SaveControlState Yöntem

Tanım

Sayfanın sunucuya geri gönderildiği zamandan bu yana gerçekleşen tüm sunucu denetim durumu değişikliklerini kaydeder.

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

Döndürülenler

Sunucu denetiminin geçerli durumunu döndürür. Denetimle ilişkilendirilmiş bir durum yoksa, bu yöntem döndürür null.

Örnekler

Aşağıdaki kod örneği, özel bir ASP.NET denetiminde yöntemini geçersiz kılar SaveControlState . Bu yöntem çağrıldığında, iç özelliğin currentIndex varsayılan olmayan bir değere ayarlanıp ayarlanmadığını belirler ve ayarlıysa değeri denetim durumuna kaydeder.

Yöntemi OnInit geçersiz kılınarak özel denetimin RegisterRequiresControlState denetim durumunu kullandığını belirtmek için üzerinde Page yöntemini çağırın.

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

Açıklamalar

Belirli bir denetimin SaveControlState işlemi için gereken durum bilgilerini kaydetmek için yöntemini kullanın. Bu denetim durumu verileri, denetimin görünüm durumu verilerinden ayrı olarak depolanır.

Denetim durumunu kullanan özel denetimler, denetim durumunu kaydetmeden önce üzerinde Page yöntemini çağırmalıdırRegisterRequiresControlState.

Devralanlara Notlar

Denetim durumu kaydedildiğinde, istemciye bir HTML HIDDEN öğesinde depolanan bir değişken olarak bir dize nesnesi döndürülür. Denetiminizde kullanılacak durum bilgilerini ayıklamak için bu yöntemi geçersiz kılın.

Denetim durumu, sayfa dizini veya anahtar sözcük gibi küçük miktarlardaki kritik verilere yöneliktir. Denetim durumunun büyük miktarlarda veri için kullanılması sayfa performansını olumsuz etkileyebilir. Daha fazla bilgi için bkz. ASP.NET Durum Yönetimine Genel Bakış.

Şunlara uygulanır

Ayrıca bkz.