Control.ClearChildState 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.
Tüm sunucu denetiminin alt denetimleri için görünüm durumu ve denetim durumu bilgilerini siler.
protected:
void ClearChildState();
protected void ClearChildState ();
member this.ClearChildState : unit -> unit
Protected Sub ClearChildState ()
Örnekler
Aşağıdaki kod örneği, şablonlu bir veriye bağlı denetim için yönteminin nasıl geçersiz kılınduğunu OnDataBinding gösterir. Denetimin bağlandığı veri kaynağı doldurulursa, denetimin ControlCollection koleksiyonu yöntemi kullanılarak Clear boşaltılır ve ClearChildState yöntem, alt denetimler için kaydedilmiş olan durum bilgilerini kaldırmak için kullanılır.
// Override to create the repeated items from the DataSource.
protected override void OnDataBinding(EventArgs e) {
base.OnDataBinding(e);
if (DataSource != null) {
// Clear any existing child controls.
Controls.Clear();
// Clear any previous state for the existing child controls.
ClearChildState();
// Iterate over the DataSource, creating a new item for each data item.
IEnumerator dataEnum = DataSource.GetEnumerator();
int i = 0;
while(dataEnum.MoveNext()) {
// Create an item.
RepeaterItem item = new RepeaterItem(i, dataEnum.Current);
// Initialize the item from the template.
ItemTemplate.InstantiateIn(item);
// Add the item to the ControlCollection.
Controls.Add(item);
i++;
}
// Prevent child controls from being created again.
ChildControlsCreated = true;
// Store the number of items created in view state for postback scenarios.
ViewState["NumItems"] = i;
}
}
' Override to create the repeated items from the DataSource.
Protected Overrides Sub OnDataBinding(E As EventArgs)
MyBase.OnDataBinding(e)
If Not DataSource Is Nothing
' Clear any existing child controls.
Controls.Clear()
' Clear any previous view state for the existing child controls.
ClearChildState()
' Iterate over the DataSource, creating a new item for each data item.
Dim DataEnum As IEnumerator = DataSource.GetEnumerator()
Dim I As Integer = 0
Do While (DataEnum.MoveNext())
' Create an item.
Dim Item As RepeaterItemVB = New RepeaterItemVB(I, DataEnum.Current)
' Initialize the item from the template.
ItemTemplate.InstantiateIn(Item)
' Add the item to the ControlCollection.
Controls.Add(Item)
I = I + 1
Loop
' Prevent child controls from being created again.
ChildControlsCreated = true
' Store the number of items created in view state for postback scenarios.
ViewState("NumItems") = I
End If
End Sub
Açıklamalar
yöntemi, ClearChildState alt denetimler için tüm görünüm durumu ve denetim durumu bilgilerini temizler. Hem yöntemini hem de ClearChildViewState yöntemini çağırmaya eşdeğerdir ClearChildControlState .
Bir Control nesnenin alt denetimlerini yeniden oluştururken, yeni denetimlere yanlışlıkla uygulanmaması için alt durumu temizlemek için yöntemini kullanın ClearChildState .