Export (0) Print
Expand All

EmptyControlCollection Constructor

Initializes a new instance of the EmptyControlCollection class.

[Visual Basic]
Public Sub New( _
   ByVal owner As Control _
)
[C#]
public EmptyControlCollection(
   Control owner
);
[C++]
public: EmptyControlCollection(
   Control* owner
);
[JScript]
public function EmptyControlCollection(
   owner : Control
);

Parameters

owner
The Control which owns this collection as its collection of child controls

Example

[Visual Basic, C#, C++] The following example attempts to populate a control with children causing an exception. This is because the container control does not allow children. The following is the command line used to build the executable.

vbc /r:System.dll /r:System.Web.dll /t:library

/out:myWebAppPath/bin/vb_myEmptyControlCollection.dll

myEmptyControlCollection.vb

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

myEmptyControlCollection.cs

[Visual Basic] 

' File name: emptyControlCollection.vb.

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Collections


Namespace CustomControls 

  Public Class MyVB_EmptyControl 
    Inherits Control
    
    <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
    Protected Overrides Function CreateControlCollection() As ControlCollection
    ' 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(Me)
    End Function 
    
    <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _  
    Protected Overrides Sub CreateChildControls()
    ' Sub Name: CreateChildControls.
    ' Populates the child control collection (Controls). 
    ' Note: This function will cause an exception because the control does not allow 
    ' child controls.
      Dim text As LiteralControl
      text = New LiteralControl("<h5>Composite Controls</h5>")
      Controls.Add(text)
    End Sub 
  End Class 

End Namespace 


[C#] 

/* 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>");
        Controls.Add(text);
      }
   }

}

[C++] 
/* File name: emptyControlCollection.cpp. */
#using <mscorlib.dll>
#using <System.Web.dll>
#using <System.dll>
using namespace System;
using namespace System::Web;
using namespace System::Web::UI;
using namespace System::Web::UI::WebControls;
using namespace System::Collections;

// Defines a simple custom control.
public __gc class MyCS_EmptyControl : public Control 
{
protected:
   [System::Security::Permissions::PermissionSet(System::Security::Permissions::SecurityAction::Demand, Name="FullTrust")] 
   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")] 
   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(S"<h5>Composite Controls</h5>");
      Controls->Add(text);
   }
};

[Visual Basic, C#, C++] The following example uses the empty custom control defined above. When running this example you will get an exception. Notice, the values shown in the Register directive reflect the previous command line.

[Visual Basic] 
<%@ Register TagPrefix="custom" Assembly="vb_myEmptyControlCollection" Namespace="CustomControls" %>
<html>
 <body>
 <h1>Using an Empty Control</h1>
 <custom:MyVB_EmptyControl id="vbEmptyControlId" runat="server"/>
 </body>
</html>
[C#] 
<%@ Register TagPrefix="custom" Assembly="cs_myEmptyControlCollection" Namespace="CustomControls" %>
<html>
 <body>
 <h1>Using an Empty Control </h1>
 <custom:MyCS_EmptyControl id="csEmptyControlId" runat="server"/>
 </body>
</html>

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

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

See Also

EmptyControlCollection Class | EmptyControlCollection Members | System.Web.UI Namespace

Show:
© 2014 Microsoft