Partager via


Control.ClearChildState Méthode

Définition

Supprime les informations sur l'état d'affichage et sur l'état du contrôle de tous les contrôles enfants du contrôle serveur.

protected:
 void ClearChildState();
protected void ClearChildState ();
member this.ClearChildState : unit -> unit
Protected Sub ClearChildState ()

Exemples

L’exemple de code suivant montre comment remplacer la OnDataBinding méthode d’un contrôle lié aux données modèle. Si la source de données à laquelle le contrôle est lié est remplie, la collection du ControlCollection contrôle est vidée à l’aide de la Clear méthode et la ClearChildState méthode est utilisée pour supprimer toutes les informations d’état qui avaient été enregistrées pour les contrôles enfants.

// 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

Remarques

La ClearChildState méthode efface toutes les informations d’état d’affichage et d’état de contrôle pour les contrôles enfants. Cela équivaut à appeler à la fois la ClearChildViewState méthode et la ClearChildControlState méthode.

Lors de la recréation de contrôles enfants d’un Control objet, utilisez la méthode pour effacer l’état ClearChildState enfant afin qu’il ne soit pas appliqué aux nouveaux contrôles par inadvertance.

S’applique à

Voir aussi