Export (0) Print
Expand All

Control.ClearChildState Method

Deletes the view-state and control-state information for all the server control's child controls.

Namespace:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)

protected void ClearChildState()

The ClearChildState method clears all view-state and control-state information for child controls. It is equivalent to calling both the ClearChildViewState method and the ClearChildControlState method.

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.

The following code example demonstrates how to override the OnDataBinding method for a templated data-bound control. 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;
    }
}

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft