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.

C#
protected internal virtual object SaveControlState();

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.

C#
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;
        }
    }
}

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

Ürün Sürümler
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Ayrıca bkz.