EmptyControlCollection(Control) 建構函式

定義

初始化 EmptyControlCollection 類別的新執行個體。

public:
 EmptyControlCollection(System::Web::UI::Control ^ owner);
public EmptyControlCollection (System.Web.UI.Control owner);
new System.Web.UI.EmptyControlCollection : System.Web.UI.Control -> System.Web.UI.EmptyControlCollection
Public Sub New (owner As Control)

參數

owner
Control

Control,擁有這個集合做為子控制項的集合。

範例

下列程式碼範例會嘗試使用子控制項填入控制項,造成例外狀況。 這是因為容器控制項不允許子控制項。 以下是用來建置可執行檔的命令列。

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  

/* 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);
      }
   }
}

' File name: emptyControlCollection.vb.

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

下列程式碼範例會使用上述定義的空白自訂控制項。 執行此範例時,您將會收到例外狀況。 請注意,指示詞中顯示的 Register 值會反映上一個命令列。

<%@ 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>  
<%@ 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>  

適用於