Control.CreateChildControls Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.
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 ()
Esempio
Nell'esempio seguente viene illustrata una versione sottoposta a override del CreateChildControls metodo . In questa implementazione, il controllo composito visualizza un TextBox controllo racchiuso in due controlli letterali che eseguono il rendering di HTML.
Importante
L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.
// 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. I controlli che eseguono l'override del CreateChildControls metodo devono implementare l'interfaccia INamingContainer per evitare conflitti di denominazione.
Per altre informazioni, vedere Modelli di controlli server Web e Sviluppo di controlli server personalizzati ASP.NET.