Control.CreateChildControls Control.CreateChildControls Control.CreateChildControls Control.CreateChildControls Method

Определение

Вызывается платформой страницы ASP.NET для уведомления серверных элементов управления, использующих составную реализацию, о необходимости создания дочерних элементов управления, содержащихся в них для обратной передачи или отрисовки.Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.

protected public:
 virtual void CreateChildControls();
protected internal virtual void CreateChildControls ();
abstract member CreateChildControls : unit -> unit
override this.CreateChildControls : unit -> unit
Protected Friend Overridable Sub CreateChildControls ()

Примеры

В следующем примере показана переопределенная версия CreateChildControls метода.The following example demonstrates an overridden version of the CreateChildControls method. В этой реализации составной элемент управления отображает TextBox элемент управления, заключенный в два литеральных элемента управления, которые визуализируют HTML.In this implementation, the composite control displays a TextBox control enclosed in two literal controls that render HTML.

Важно!

В этом примере имеется текстовое поле, принимающее вводимые пользователем данные, что является потенциальной угрозой безопасности.This example has a text box that accepts user input, which is a potential security threat. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.For more information, see Script Exploits Overview.

// Override CreateChildControls to create the control tree.
 [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="Execution")]
 protected override void CreateChildControls() {

     // Add a LiteralControl to the current ControlCollection.
     this.Controls.Add(new LiteralControl("<h3>Value: "));


     // Create a text box control, set the default Text property, 
     // and add it to the ControlCollection.
     TextBox box = new TextBox();
     box.Text = "0";
     this.Controls.Add(box);

     this.Controls.Add(new LiteralControl("</h3>"));
 }

' Override CreateChildControls to create the control tree.
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="Execution")> _
Protected Overrides Sub CreateChildControls()
   
   ' Add a LiteralControl to the current ControlCollection.
   Me.Controls.Add(New LiteralControl("<h3>Value: "))
   
   
   ' Create a text box control, set the default Text property, 
   ' and add it to the ControlCollection.
   Dim box As New TextBox()
   box.Text = "0"
   Me.Controls.Add(box)
   
   Me.Controls.Add(New LiteralControl("</h3>"))
End Sub

Комментарии

При разработке составного или шаблонного серверного элемента управления необходимо переопределить этот метод.When you develop a composite or templated server control, you must override this method. Элементы управления, переопределяющие CreateChildControls метод, должны INamingContainer реализовывать интерфейс, чтобы избежать конфликтов имен.Controls that override the CreateChildControls method should implement the INamingContainer interface to avoid naming conflicts.

Дополнительные сведения см. в статьях шаблоны элементов управления веб-сервера и Разработка пользовательских серверных элементов управления ASP.NET.For more information, see Web Server Controls Templates and Developing Custom ASP.NET Server Controls.

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

Дополнительно