Control.SaveControlState Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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ış.