Freigeben über


Programmgesteuertes Erstellen von Instanzen der Benutzersteuerelemente

Analog zum programmgesteuerten Erstellen einer Instanz eines beliebigen ASP.NET-Serversteuerelements auf einer Web Forms-Seite können Sie mit der LoadControl-Methode einer Seite auch Benutzersteuerelemente programmgesteuert erstellen. Zunächst müssen Sie dem Benutzersteuerelement allerdings eine strikte Typbindung zuweisen. Verwenden Sie dazu das className-Attribut in der @ Control-Direktive. Dies ist erforderlich, weil die LoadControl-Methode einen Typ der Control-Klasse zurückgibt. Das Benutzersteuerelement muss für die entsprechende strikte Typbindung umgewandelt werden, damit individuelle Eigenschaften für das Steuerelement festgelegt werden können.

Im folgenden Beispiel wird das className-Attribut für die strikte Typbindung eines Benutzersteuerelements in der Datei MyUserControl.ascx verwendet.

<%@ Control className="MyUserControl" %>

So erstellen Sie eine Instanz eines Benutzersteuerelements programmgesteuert

  1. Registrieren Sie das Benutzersteuerelement oben auf der Web Forms-Seite mit der @ Reference-Direktive. Beim programmgesteuerten Erstellen eines Benutzersteuerelements steht die strikte Typbindung für die Web Forms-Seite erst zur Verfügung, nachdem Sie einen entsprechenden Verweis erstellt haben. Mit folgendem Code wird z. B. ein Verweis auf ein Benutzersteuerelement erstellt, das in der Datei MyUserControl.ascx erstellt wurde.

    <%@ Reference Control="MyUserControl.ascx" %>
    

    Hinweis   Verwenden Sie die @ Register-Direktive, wenn Sie Instanzen von Benutzersteuerelementen deklarativ auf einer Web Forms-Seite erstellen.

  2. Erstellen Sie eine Instanz des Benutzersteuerelements entweder in der Datei der CodeBehind-Klasse oder im Codedeklarationsblock der ASPX-Datei. Jetzt können Sie ggf. Eigenschaftenwerte zuweisen und das Steuerelement zum ControlCollection-Objekt der Seite hinzufügen. Verwenden Sie dazu die Add-Methode. Sie steht in der geerbten Control.Controls-Eigenschaft der Seite zur Verfügung. Im folgenden Beispiel wird eine Instanz von MyUserControl.ascx erstellt, deren BackColor-Eigenschaft auf beige eingestellt ist.

    Dim c1 As UserControl = LoadControl("MyUserControl.ascx")
    CType(c1, MyUserControl).BackColor = "beige"
    Page.Controls.Add(c1)
    [C#]
    Control c1 = LoadControl("MyUserControl.ascx");
    ((MyUserControl)c1).BackColor = "beige";
    Page.Controls.Add(c1);
    

    Hinweis   Wenn Sie die Add-Methode verwenden, um Steuerelemente zum ControlCollection-Objekt hinzuzufügen, werden die Steuerelemente in der Reihenfolge ihrer Verarbeitung in der Auflistung platziert. Wenn Sie ein Steuerelement an einer bestimmten Position in der Auflistung hinzufügen möchten, verwenden Sie die AddAt-Methode und geben die Indexposition an, unter der Sie das Steuerelement speichern möchten.

Siehe auch

Benutzersteuerelemente für Web Forms | Erstellen eines Benutzersteuerelements | Verwenden eines Benutzersteuerelements in einer Web Forms-Seite | Serverereignisbehandlung in Web Forms-Seiten | Behandeln von Ereignissen eines Benutzersteuerelements