Control.CreateChildControls Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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:
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 ()
Examples
The following example demonstrates an overridden version of the CreateChildControls method. In this implementation, the composite control displays a TextBox control enclosed in two literal controls that render HTML.
Important
This example has a text box that accepts user input, which is a potential security threat. 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
Remarks
When you develop a composite or templated server control, you must override this method. Controls that override the CreateChildControls method should implement the INamingContainer interface to avoid naming conflicts.
For more information, see Web Server Controls Templates and Developing Custom ASP.NET Server Controls.