Freigeben über


Entwickeln von Benutzersteuerelementen in einer CodeBehind-Datei

Analog zum Erstellen von Web Forms-Seiten mit Hilfe von CodeBehind-Dateien können Sie auch Benutzersteuerelemente erstellen: durch Trennen der Benutzeroberflächensyntax (in der ASPX-Datei) von der Logik, die die Seite ausführt (die CodeBehind-Datei). Bis auf kleinere Abweichungen sind die Techniken identisch.

Hinweis   Wenn Sie ein RAD-Tool (Rapid Application Development) zum Erstellen der ASP.NET-Anwendungen verwenden, z. B. Visual Studio .NET, sind die CodeBehind-Techniken zum Erstellen von Benutzersteuerelementen und Web Forms-Seiten standardmäßig voreingestellt. Wenn Sie eine Webanwendung mit Hilfe von Visual Studio .NET erstellen, müssen sämtliche Seiten und Benutzersteuerelemente in der Anwendung in derselben Programmiersprache vorliegen.

So entwickeln Sie Benutzersteuerelemente in einer CodeBehind-Datei

  1. Erstellen Sie eine CodeBehind-Datei, und binden Sie die Namespaces ein, auf die das Benutzersteuerelement zugreifen muss. Sie müssen mindestens den System-Namespace und den System.Web.UI-Namespace sowie alle anderen für das Benutzersteuerelement erforderlichen Namespaces einbinden.

    Imports System
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    [C#]
    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
  2. Deklarieren Sie eine Klasse, die von der UserControl-Klasse erbt, und schreiben Sie den Code für die gewünschten Funktionen. Binden Sie alle Ereignishandlingmethoden für das Benutzersteuerelement ein. Deklarieren Sie außerdem öffentliche Instanzen der ASP.NET-Serversteuerelemente, die Sie im Benutzersteuerelement verwenden möchten.

    Public Class MyCodeBehind
    Inherits UserControl
    
        Public Name As TextBox
        Public Result As Label
    
        Public Sub SubmitBtn_Click(sender As Object, e As EventArgs)
            Result.Text = "Hi, " & Name.Text & ", welcome to ASP.NET!"
        End Sub
    End Class
    [C#]
    public class MyCodeBehind : UserControl {
        public TextBox   Name;
        public Label   Result;
    
        public void SubmitBtn_Click(Object sender, EventArgs e) {
            Result.Text = "Hi, " + Name.Text + ", welcome to ASP.NET!";   
        }
    }
    
  3. Geben Sie einen Namen für die CodeBehind-Datei ein. Achten Sie auf die korrekte Dateierweiterung, die auf die Sprache verweist, in der die Datei entwickelt wurde. Andernfalls führt dies zu einem Compilerfehler. In diesem Beispiel heißt das in Visual Basic entwickelte Benutzersteuerelement UserControl.vb und das in C# entwickelte UserControl.cs.

  4. Erstellen Sie eine ASCX-Datei unter Verwendung der @ Control-Direktive, um auf den Namen der Klasse zu verweisen, die das Benutzersteuerelement erbt, sowie auf den Pfad zur Quelldatei, die in Schritt 1 erstellt wurde. Binden Sie die Serversteuerelemente und alle Texte ein, die im Benutzersteuerelement angezeigt werden sollen. Achten Sie beim Deklarieren des ID-Attributs bei jedem Serversteuerelement darauf, dass es mit dem Namen der Instanz übereinstimmt, die Sie in der CodeBehind-Datei erstellt haben. Im folgenden Beispiel lautet das ID-Attribut im unten stehenden <asp:textbox/>-Element Name und entspricht dem TextBox-Serversteuerelement Name aus Schritt 2.

    <%@ control inherits = "MyCodeBehind" src = "UserControl.vb" %>
    <p>Name: <asp:textbox id="Name" runat="server"/> <br>
    <asp:button text="Click Me" OnClick="SubmitBtn_Click" runat="server"/><br>
    <asp:label id="Result" runat = "server" />
    [C#]
    <%@ control inherits = "MyCodeBehind" src = "UserControl.cs" %>
    <p>Name: <asp:textbox id="Name" runat="server"/> <br>
    <asp:button text="Click Me" OnClick="SubmitBtn_Click" runat="server"/><br>
    <asp:label id="Result" runat = "server" />
    
  5. Binden Sie das Benutzersteuerelement in die Web Forms-Seiten ein, in denen die Funktion angezeigt werden soll. Weitere Informationen erhalten Sie unter Verwenden eines Benutzersteuerelements in einer Web Forms-Seite.

Siehe auch

Einführung in Benutzersteuerelemente für Web Forms User | Web Forms-Codemodell | Verwenden eines Benutzersteuerelements in einer Web Forms-Seite | @ Control | UserControl