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

Définition

Appelée par l’infrastructure de page ASP.NET pour signaler aux contrôles serveur qu’ils doivent utiliser l’implémentation basée sur la composition pour créer les contrôles enfants qu’ils contiennent en vue de la publication ou du rendu.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 ()

Exemples

L’exemple suivant illustre une version substituée de la CreateChildControls méthode.The following example demonstrates an overridden version of the CreateChildControls method. Dans cette implémentation, le contrôle composite affiche TextBox un contrôle placé entre deux contrôles Literal qui restituent du code html.In this implementation, the composite control displays a TextBox control enclosed in two literal controls that render HTML.

Important

Cet exemple comprend une zone de texte qui accepte une entrée d'utilisateur, ce qui constitue une menace potentielle pour la sécurité.This example has a text box that accepts user input, which is a potential security threat. Par défaut, les pages web ASP.NET vérifient que l’entrée d’utilisateur n’inclut pas de script ou d’éléments HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Pour plus d’informations, consultez Vue d’ensemble des attaques de script.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

Remarques

Lorsque vous développez un contrôle serveur composite ou basé sur un modèle, vous devez substituer cette méthode.When you develop a composite or templated server control, you must override this method. Les contrôles qui substituent CreateChildControls la méthode doivent implémenter l’interface pour éviter les INamingContainer conflits de noms.Controls that override the CreateChildControls method should implement the INamingContainer interface to avoid naming conflicts.

Pour plus d’informations, consultez modèles de contrôles serveur Web et développement de contrôles serveur ASP.net personnalisés.For more information, see Web Server Controls Templates and Developing Custom ASP.NET Server Controls.

S’applique à

Voir aussi