This documentation is archived and is not being maintained.

ControlCollection.Clear Method

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

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

'Declaration
Public Overridable Sub Clear
'Usage
Dim instance As ControlCollection

instance.Clear
public void Clear ()
public function Clear ()
Not applicable.

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.

' 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

// 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 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0
Show: