Control.ClearChildState Método

Definición

Elimina la información sobre el estado de vista y el estado de control de los controles secundarios del control de servidor.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 ()

Ejemplos

En el ejemplo de código siguiente se muestra cómo invalidar el método OnDataBinding para un control enlazado a datos con plantilla.The following code example demonstrates how to override the OnDataBinding method for a templated data-bound control. Si el origen de datos al que se enlaza el control se rellena, la colección de ControlCollection del control se vacía con el método Clear y se usa el método ClearChildState para quitar cualquier información de estado que se hubiera guardado para los controles secundarios.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

Comentarios

El método ClearChildState borra toda la información sobre el estado de vista y el estado de control de los controles secundarios.The ClearChildState method clears all view-state and control-state information for child controls. Es equivalente a llamar al método ClearChildViewState y al método ClearChildControlState.It is equivalent to calling both the ClearChildViewState method and the ClearChildControlState method.

Al volver a crear los controles secundarios de un objeto de Control, utilice el método ClearChildState para borrar el estado secundario, de modo que no se aplique a los nuevos controles accidentalmente.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.

Se aplica a

Consulte también: