Control.CreateChildControls Metoda

Definicja

Wywoływane przez platformę strony ASP.NET w celu powiadomienia formantów serwera, które używają implementacji opartej na kompozycjach, do tworzenia wszelkich formantów podrzędnych, które zawierają w przygotowaniu do ponownego ogłaszania lub renderowania.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 ()

Przykłady

Poniższy przykład ilustruje przesłoniętą wersję metody CreateChildControls.The following example demonstrates an overridden version of the CreateChildControls method. W tej implementacji formant złożony wyświetla kontrolkę TextBox zawartą w dwóch kontrolkach literałów, które renderują kod HTML.In this implementation, the composite control displays a TextBox control enclosed in two literal controls that render HTML.

Ważne

Ten przykład zawiera pole tekstowe akceptujące dane wejściowe użytkownika, które jest potencjalnym zagrożeniem bezpieczeństwa.This example has a text box that accepts user input, which is a potential security threat. Domyślnie strony sieci Web ASP.NET sprawdzają, czy dane wejściowe użytkownika nie obejmują elementów skryptu ani HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Aby uzyskać więcej informacji, zobacz Omówienie luk w zabezpieczeniach.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

Uwagi

Podczas opracowywania kontrolki serwera złożonego lub z szablonem należy zastąpić tę metodę.When you develop a composite or templated server control, you must override this method. Kontrolki, które zastępują metodę CreateChildControls, powinny implementować interfejs INamingContainer, aby uniknąć konfliktów nazw.Controls that override the CreateChildControls method should implement the INamingContainer interface to avoid naming conflicts.

Aby uzyskać więcej informacji, zobacz Szablony formantów serwera sieci Web i Opracowywanie niestandardowych kontrolek serwera ASP.NET.For more information, see Web Server Controls Templates and Developing Custom ASP.NET Server Controls.

Dotyczy

Zobacz też