Export (0) Print
Expand All

EmptyControlCollection Constructor

Initializes a new instance of the EmptyControlCollection class.

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

public EmptyControlCollection(
	Control owner


Type: System.Web.UI.Control
The Control that owns this collection as its collection of child controls.

The following code example attempts to populate a control with child controls, causing an exception. This is because the container control does not allow child controls. The following is the command line used to build the executable.

csc /t:library /out:myWebAppPath/bin/cs_myEmptyControlCollection.dll

/* File name: emptyControlCollection.cs. */

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;

namespace CustomControls

  // Defines a simple custom control.
  public class MyCS_EmptyControl : Control
    [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
    protected override ControlCollection CreateControlCollection() 
     * Function Name: CreateControlCollection.
     * Denies the creation of any child control by creating an empty collection.
     * Generates an exception if an attempt to create a child control is made.
       return new EmptyControlCollection(this);

     [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")] 
     protected override void CreateChildControls()
      * Function Name: CreateChildControls.
      * Populates the child control collection (Controls). 
      * Note: This function will cause an exception because the control does not allow 
      * child controls.
        // Create a literal control to contain the header and add it to the collection.
        LiteralControl text;
        text = new LiteralControl("<h5>Composite Controls</h5>");


The following code example uses the empty custom control defined above. When running this example, you will get an exception. Notice that the values shown in the Register directive reflect the previous command line.

<%@ Register TagPrefix="custom" Assembly="cs_myEmptyControlCollection" Namespace="CustomControls" %>
  <h1>Using an Empty Control </h1>
  <custom:MyCS_EmptyControl id="csEmptyControlId" runat="server"/>

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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

Community Additions

© 2014 Microsoft