Freigeben über


Konvertieren einer Web Forms-Seite in ein Benutzersteuerelement

Wenn Sie eine Web Forms-Seite entwickelt haben und in der gesamten Anwendung auf ihre Funktionen zugreifen möchten, können Sie die Datei mit geringfügigen Änderungen in ein Benutzersteuerelement umwandeln. Da die Elemente <html>, <body> und <form> nicht in Benutzersteuerelementen enthalten sind, müssen Sie diese in die Web Forms-Seite einbinden.

Vorsicht   Wenn Sie ein Benutzersteuerelement in einer CodeBehind-Klasse entwickeln, müssen Sie die UserControl-Klasse und nicht die Page-Klasse erweitern. Weitere Informationen finden Sie unter Entwickeln von Benutzersteuerelementen in einer CodeBehind-Datei.

So konvertieren Sie eine Web Forms-Seite in ein Benutzersteuerelement

  1. Löschen Sie die Elemente <html>, <body> und <form> auf der Seite. Das folgende Beispiel verdeutlicht diese Konvertierung.

    Ursprüngliche Web Forms-Seite:

    <html>
    <script language="VB" runat=server>
    Sub EnterBtn_Click(Sender as Object, E as EventArgs)
       Label1.Text = "Hi " & Name.Text & " welcome to ASP.NET!"
    End Sub
    </script>
    <body>
    <h3>Web Forms Page</h3>
    <form>
        Enter Name: <asp:textbox id="Name" runat=server/>
        <asp:button Text="Enter" OnClick="EnterBtn_Click"
             runat=server/>
    <br><br>
    <asp:label id="Label1" runat=server/>
    </form>
    </body>
    </html>
    
    [C#]
    <html>
    <script language="C#" runat=server>
    void EnterBtn_Click(Object Sender, EventArgs E){
       Label1.Text = "Hi " + Name.Text + " welcome to ASP.NET!";
    }
    </script>
    <body>
    <h3>Web Forms Page</h3>
    <form>
        Enter Name: <asp:textbox id="Name" runat=server/>
            <asp:button Text="Enter" OnClick="EnterBtn_Click"
                runat=server/>
        <br><br>
        <asp:label id="Label1" runat=server/>
    </form>
    </body>
    </html>
    

    Das Benutzersteuerelement nach der Konvertierung:

    <h3> <u>User Control</u> </h3>
    <script language="VB" runat=server>
    Sub EnterBtn_Click(Sender as Object, E as EventArgs)
        Label1.Text = "Hi " & Name.Text & " welcome to ASP.NET!"
    End Sub
    </script>
        Enter Name: <asp:textbox id="Name" runat=server/>
        <asp:button Text="Enter" OnClick="EnterBtn_Click"
            runat=server/>
        <br><br>
        <asp:label id="Label1" runat=server/>
    
    [C#]
    <h3>User Control</h3>
    <script language="C#" runat=server>
    void EnterBtn_Click(Object Sender, EventArgs E){
        Label1.Text = "Hi " + Name.Text + " welcome to ASP.NET!";
    }
    </script>
        Enter Name: <asp:textbox id="Name" runat=server/>
        <asp:button Text="Enter" OnClick="EnterBtn_Click"
            runat=server/>
        <br><br>
        <asp:label id="Label1" runat=server/>
    
  2. Wenn die Web Forms-Seite eine @ Page-Direktive enthält, muss diese in eine @ Control-Direktive geändert werden.

    Hinweis   Um Parserfehler beim Konvertieren einer Seite in ein Benutzersteuerelement zu vermeiden, löschen Sie alle Attribute, die von der @ Page-Direktive und nicht von der @ Control-Direktive unterstützt werden. Weitere Informationen finden Sie unter Direktivensyntax.

  3. Binden Sie ein className-Attribut in die @ Control-Direktive ein. Dadurch erhält das Benutzersteuerelement strikte Typbindung, wenn es programmgesteuert zu einer Seite oder einem anderen Serversteuerelement hinzugefügt wird.

  4. Geben Sie einen möglichst aussagekräftigen Dateinamen für das Steuerelement ein, und ändern Sie die Dateinamenerweiterung von .aspx in .ascx.

Siehe auch

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