Sdílet prostřednictvím


Control.ClearChildState Metoda

Definice

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.

Platí pro

Viz také