.NET Framework Class Library
ControlCollection..::.Clear Method

Updated: November 2007

Removes all controls from the current server control's ControlCollection object.

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

Visual Basic (Declaration)
Public Overridable Sub Clear
Visual Basic (Usage)
Dim instance As ControlCollection

instance.Clear()
C#
public virtual void Clear()
Visual C++
public:
virtual void Clear()
J#
public void Clear()
JScript
public function Clear()

Use this method to empty a custom control's ControlCollection when you override the Control..::.CreateChildControls and DataBind methods. Do this when you develop composite, templated controls or templated data-bound controls.

The following code example demonstrates overriding the Control..::.CreateChildControls method, and using the Clear method to delete all child controls previously in the ControlCollection object. In this case, you must do this so that outdated objects in your control's ControlCollection are not displayed inappropriately.

Visual Basic
' Override to create repeated items.
Protected Overrides Sub CreateChildControls()
    Dim O As Object = ViewState("NumItems")
    If Not (O Is Nothing)
       ' Clear any existing child controls.
       Controls.Clear()

       Dim I As Integer
       Dim NumItems As Integer = CInt(O)
       For I = 0 To NumItems - 1
          ' Create an item.
          Dim Item As RepeaterItemVB = New RepeaterItemVB(I, Nothing)
          ' Initialize the item from the template.
          ItemTemplate.InstantiateIn(Item)
          ' Add the item to the ControlCollection.
          Controls.Add(Item)
       Next
    End If
End Sub

C#
// Override to create repeated items.
protected override void CreateChildControls() {
    object o = ViewState["NumItems"];
    if (o != null) {
       // Clear any existing child controls.
       Controls.Clear();

       int numItems = (int)o;
       for (int i=0; i < numItems; i++) {
          // Create an item.
          RepeaterItem item = new RepeaterItem(i, null);
          // Initialize the item from the template.
          ItemTemplate.InstantiateIn(item);
          // Add the item to the ControlCollection.
          Controls.Add(item);
       }
    }
}

J#
// Override to create repeated items.
protected void CreateChildControls()
{
    Object o = get_ViewState().get_Item("NumItems");
    if (o != null) {
        // Clear any existing child controls.
        get_Controls().Clear();

        int numItems = Convert.ToInt32(o);
        for (int i = 0; i < numItems; i++) {
            // Create an item.
            RepeaterItem item = new RepeaterItem(i, null);
            // Initialize the item from the template.
            get_ItemTemplate().InstantiateIn(item);
            // Add the item to the ControlCollection.
            get_Controls().Add(item);
        }
    }
} //CreateChildControls

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Page view tracker