Control.EnsureChildControls 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.
Determines whether the server control contains child controls. If it does not, it creates child controls.
protected:
virtual void EnsureChildControls();
protected virtual void EnsureChildControls ();
abstract member EnsureChildControls : unit -> unit
override this.EnsureChildControls : unit -> unit
Protected Overridable Sub EnsureChildControls ()
Examples
The following example uses the EnsureChildControls method to ensure that the current server control has child controls. It then gets or sets a Text property for a child TextBox Web control in the current server control's ControlCollection object.
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.
// Ensure the current control has children,
// then get or set the Text property.
public int Value {
get {
this.EnsureChildControls();
return Int32.Parse(((TextBox)Controls[1]).Text);
}
set {
this.EnsureChildControls();
((TextBox)Controls[1]).Text = value.ToString();
}
}
' Ensure the current control has children,
' then get or set the Text property.
Public Property Value() As Integer
Get
Me.EnsureChildControls()
Return Int32.Parse(CType(Controls(1), TextBox).Text)
End Get
Set
Me.EnsureChildControls()
CType(Controls(1), TextBox).Text = value.ToString()
End Set
End Property
Remarks
This method first checks the current value of the ChildControlsCreated property. If this value is false
, the CreateChildControls method is called.
The EnsureChildControls method is typically used in composite controls, which are controls that use child controls for some or all their functionality. The EnsureChildControls method is called in order to make sure that child controls have been created and are ready to process input, to perform data binding, or to perform other tasks.
The GridView control is an example of a composite control. It creates child controls such as Table, TableRow, TableCell, Label, and TextBox controls, which are used to render the HTML table that the GridView generates.
In most cases, custom server control developers do not have to override this method. If you do override this method, use it in a way similar to the default behavior.