Прочитать на английском

Поделиться через


EmptyControlCollection(Control) Конструктор

Определение

Инициализирует новый экземпляр класса EmptyControlCollection.

C#
public EmptyControlCollection (System.Web.UI.Control owner);

Параметры

owner
Control

Объект Control, которому данная коллекция принадлежит в качестве коллекции дочерних элементов управления.

Примеры

В следующем примере кода пытается заполнить элемент управления дочерними элементами управления, вызывая исключение. Это связано с тем, что элемент управления "Контейнер" не разрешает дочерние элементы управления. Ниже приведена командная строка, используемая для сборки исполняемого файла.

C#
csc /t:library /out:myWebAppPath/bin/cs_myEmptyControlCollection.dll  
    myEmptyControlCollection.cs  
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);
      }
   }
}

В следующем примере кода используется пустой пользовательский элемент управления, определенный выше. При выполнении этого примера вы получите исключение. Обратите внимание, что значения, показанные в директиве , Register отражают предыдущую командную строку.

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>  

Применяется к

Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1