Control.ClearChildState Methode

Definition

Löscht die Informationen zum Ansichtszustand sowie zum Steuerelementzustand für alle untergeordneten Steuerelemente des Serversteuerelements.Deletes the view-state and control-state information for all the server control's child controls.

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

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die OnDataBinding-Methode für ein Daten gebundenes Steuerelement mit Vorlagen überschrieben wird.The following code example demonstrates how to override the OnDataBinding method for a templated data-bound control. Wenn die Datenquelle, an die das Steuerelement gebunden wird, aufgefüllt wird, wird die ControlCollection-Auflistung des Steuer Elements mit der Clear-Methode geleert, und die ClearChildState-Methode wird verwendet, um alle Zustandsinformationen zu entfernen, die für die untergeordneten Steuerelemente gespeichert wurden.If the data source that the control binds to is populated, the control's ControlCollection collection is emptied using the Clear method, and the ClearChildState method is used to remove any state information that had been saved for the child controls.

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

Hinweise

Die ClearChildState-Methode löscht alle Ansichts Zustands-und Steuerelement Zustandsinformationen für untergeordnete Steuerelemente.The ClearChildState method clears all view-state and control-state information for child controls. Dies entspricht dem Aufrufen der ClearChildViewState-Methode und der ClearChildControlState-Methode.It is equivalent to calling both the ClearChildViewState method and the ClearChildControlState method.

Wenn Sie untergeordnete Steuerelemente eines Control Objekts neu erstellen, verwenden Sie die ClearChildState-Methode, um den untergeordneten Zustand so zu löschen, dass er nicht versehentlich auf die neuen Steuerelemente angewendet wird.When recreating child controls of a Control object, use the ClearChildState method to clear child state so that it does not get applied to the new controls inadvertently.

Gilt für:

Siehe auch