Control.ClearChildState Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Odstraní informace o stavu zobrazení a stavu řízení pro všechny podřízené ovládací prvky serveru.
protected:
void ClearChildState();
protected void ClearChildState ();
member this.ClearChildState : unit -> unit
Protected Sub ClearChildState ()
Příklady
Následující příklad kódu ukazuje, jak přepsat metodu OnDataBinding ovládacího prvku vázaného na data šablony. Pokud je zdroj dat, se kterým ovládací prvek váže, naplněna, kolekce ovládacího prvku ControlCollection se vyprázdní pomocí Clear metody a ClearChildState metoda se použije k odebrání všech informací o stavu, které byly uloženy pro podřízené ovládací prvky.
// 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
Poznámky
Metoda ClearChildState vymaže všechny informace o stavu zobrazení a stavu řízení pro podřízené ovládací prvky. Je ekvivalentní volání metody i ClearChildViewStateClearChildControlState metody.
Při opětovném vytváření podřízených ovládacích prvků objektu Control použijte metodu ClearChildState k vymazání podřízeného stavu, aby se nechtěně neaplikoval na nové ovládací prvky.