Control.ClearChildState Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menghapus informasi status tampilan dan status kontrol untuk semua kontrol turunan kontrol server.
protected:
void ClearChildState();
protected void ClearChildState();
member this.ClearChildState : unit -> unit
Protected Sub ClearChildState ()
Contoh
Contoh kode berikut menunjukkan cara mengambil alih OnDataBinding metode untuk kontrol terikat data yang di-templat. Jika sumber data yang diikat kontrol diisi, koleksi kontrol ControlCollection dikosongkan menggunakan Clear metode , dan ClearChildState metode ini digunakan untuk menghapus informasi status apa pun yang telah disimpan untuk kontrol anak.
// 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
Keterangan
Metode ini ClearChildState menghapus semua informasi status tampilan dan status kontrol untuk kontrol anak. Ini setara dengan memanggil ClearChildViewState metode dan ClearChildControlState metode .
Saat membuat ulang kontrol anak dari Control objek, gunakan ClearChildState metode untuk menghapus status anak sehingga tidak diterapkan ke kontrol baru secara tidak sengaja.