Control.CreateChildControls Metodo

Definizione

Viene chiamato dal framework della pagina ASP.NET per notificare ai controlli server che usano un'implementazione basata sulla composizione di creare gli eventuali controlli figlio in essi contenuti in preparazione per il postback o il rendering.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 ()

Esempi

Nell'esempio seguente viene illustrata una versione sottoposta a override del metodo CreateChildControls.The following example demonstrates an overridden version of the CreateChildControls method. In questa implementazione, il controllo composito Visualizza un controllo TextBox racchiuso tra due controlli Literal che eseguono il rendering del codice HTML.In this implementation, the composite control displays a TextBox control enclosed in two literal controls that render HTML.

Importante

L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza.This example has a text box that accepts user input, which is a potential security threat. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite 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

Commenti

Quando si sviluppa un controllo server composito o basato su modelli, è necessario eseguire l'override di questo metodo.When you develop a composite or templated server control, you must override this method. I controlli che eseguono l'override del metodo CreateChildControls devono implementare l'interfaccia INamingContainer per evitare conflitti di denominazione.Controls that override the CreateChildControls method should implement the INamingContainer interface to avoid naming conflicts.

Per altre informazioni, vedere modelli di controlli server Web e sviluppo di controlli server ASP.NET personalizzati.For more information, see Web Server Controls Templates and Developing Custom ASP.NET Server Controls.

Si applica a

Vedi anche