Export (0) Print
Expand All

ControlCollection.Add Method

Adds the specified Control object to the collection.

[Visual Basic]
Public Overridable Sub Add( _
   ByVal child As Control _
)
[C#]
public virtual void Add(
 Control child
);
[C++]
public: virtual void Add(
 Control* child
);
[JScript]
public function Add(
   child : Control
);

Parameters

child
The Control object to add to the collection.

Exceptions

Exception Type Condition
ArgumentNullException Thrown if the child parameter does not specifiy a control.
HttpException Thrown if the ControlCollection object is read-only.

Remarks

The new control is added to the end of an ordinal index array. The control can be an instance of any ASP.NET server control, a custom server control you create, or a literal control.

To add a control to the collection at a specific index location, use the AddAt method.

Example

The following example uses the Add method to add a series of template items, the number of which are taken from the server control's view state, to a custom templated control.

[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);
       }
    }
}

[C++] 
// Override to create repeated items.
void CreateChildControls() 
{
   Object* o = ViewState->Item[S"NumItems"];
   if (o != 0) 
   {
      // Clear any existing child controls.
      Controls->Clear();

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

[JScript] 
// Override to create repeated items.
protected override function CreateChildControls() {
    var o = ViewState["NumItems"];
    if (o != null) {
       // clear any existing child controls
       Controls.Clear();

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

Requirements

Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family

See Also

ControlCollection Class | ControlCollection Members | System.Web.UI Namespace | Controls | AddAt

Show:
© 2014 Microsoft