Control.CreateChildControls Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вызывается платформой страницы ASP.NET, чтобы уведомить серверные элементы управления, использующие реализацию на основе композиции, чтобы создать все дочерние элементы управления, содержащиеся в подготовке к публикации обратной или отрисовки.
protected:
virtual void CreateChildControls();
protected public:
virtual void CreateChildControls();
protected virtual void CreateChildControls();
protected internal virtual void CreateChildControls();
abstract member CreateChildControls : unit -> unit
override this.CreateChildControls : unit -> unit
Protected Overridable Sub CreateChildControls ()
Protected Friend Overridable Sub CreateChildControls ()
Примеры
В следующем примере показана переопределенная версия CreateChildControls метода. В этой реализации составной элемент управления отображает элемент управления, заключенный TextBox в два литеральных элемента управления, отрисовывающих HTML.
Important
В этом примере есть текстовое поле, которое принимает входные данные пользователя, которое является потенциальной угрозой безопасности. По умолчанию ASP.NET веб-страницы проверяют, что входные данные пользователя не включают скрипт или ЭЛЕМЕНТЫ HTML. Дополнительные сведения см. в разделе "Обзор эксплойтов скриптов".
// 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
Комментарии
При разработке составного или шаблонного серверного элемента управления необходимо переопределить этот метод. Элементы управления, переопределяющие CreateChildControls метод, должны реализовать INamingContainer интерфейс, чтобы избежать конфликтов именования.
Дополнительные сведения см. в разделе Web Server Controls Templates и Developing Custom ASP.NET Server Controls.