Share via


@ Register

Erstellt eine Zuordnung zwischen einem Tagpräfix und einem benutzerdefinierten Steuerelement. Dies stellt eine bequeme Möglichkeit für Entwickler dar, in ASP.NET-Anwendungsdateien (z. B. Webseiten, Benutzersteuerelementen und Masterseiten) auf benutzerdefinierte Steuerelemente zu verweisen.

<%@ Register tagprefix="tagprefix"
   namespace="namespace"
   assembly="assembly" %>
<%@ Register tagprefix="tagprefix"
   namespace="namespace" %>
<%@ Register tagprefix="tagprefix"
   tagname="tagname"
   src="pathname" %>

Attribute

  • assembly
    Die Assembly, in der sich der dem tagprefix-Attribut zugeordnete Namespace befindet.

    Hinweis

    Der Assemblyname enthält keine Dateierweiterung. Beachten Sie auch, dass ASP.NET die Quelldatei zur Laufzeit dynamisch kompiliert, wenn Sie die Quellcodedatei eines benutzerdefinierten Steuerelements im Ordner App_Code einer Anwendung ablegen. Es ist also nicht erforderlich, das assembly-Attribut zu verwenden.

  • namespace
    Der Namespace des benutzerdefinierten Steuerelements, das registriert wird.
  • src
    Der Speicherort (relativ oder absolut) der deklarativen ASP.NET-Benutzersteuerelemente-Datei, die mit dem tagprefix:tagname-Paar verknüpft wird.
  • tagname
    Ein beliebiger Alias, der einer Klasse zugeordnet werden soll. Dieses Attribut wird nur bei Benutzersteuerelementen verwendet.
  • tagprefix
    Ein beliebiger Alias, der einen Verweis auf den Namespace des Markups in Kurznotation bereitstellt, das in der Datei mit der Direktive verwendet wird.

Hinweise

Durch Einfügen der @ Register-Direktive in einer Seite oder einem Benutzersteuerelement können Sie benutzerdefinierte Server- oder Benutzersteuerelemente mit deklarativer Syntax für benutzerdefinierte Serversteuerelemente entwerfen.

Hinweis

Sie können benutzerdefinierte Steuerelemente auch auf allen Seiten einer Anwendung registrieren, indem Sie das controls-Element für pages (ASP.NET-Einstellungsschema) in der Datei Web.config verwenden.

Sie sollten die @ Register-Direktive in den folgenden Situationen verwenden:

  • Um ein benutzerdefiniertes Serversteuerelement deklarativ einer Webseite, einem Benutzersteuerelement, einer Masterseite oder einer Skindatei hinzuzufügen (siehe Übersicht über ASP.NET-Designs und ASP.NET-Skins).

  • Um ein Benutzersteuerelement deklarativ einer Webseite, einem Benutzersteuerelement, einer Masterseite oder einer Skindatei hinzuzufügen.

Verwenden Sie für deklarative Benutzersteuerelemente das tagname-Attribut, das tagprefix-Attribut und das src-Attribut. Die ersten beiden Attribute werden beim Deklarieren des Steuerelements auf der Seite stets zusammen verwendet und durch einen Doppelpunkt voneinander getrennt (tagprefix:tagname). Der src-Attributwert kann ein relativer oder ein absoluter Pfad zur Quelldatei des Benutzersteuerelements im Stammverzeichnis der Anwendung sein. Für die einfachere Verwendung empfiehlt sich ein relativer Pfad. Angenommen, alle Benutzersteuerelementdateien der Anwendung werden im Verzeichnis \Usercontrol gespeichert, das ein Unterverzeichnis des Anwendungsstamms ist. Um das in der Datei Usercontrol1.ascx enthaltene Benutzersteuerelement einzuschließen, fügen Sie Folgendes in die @ Register-Direktive ein:

Src="~\usercontrol\usercontrol1.ascx" 

Die Tilde (~) stellt das Stammverzeichnis der Anwendung dar.

Hinweis

Wenn sich das Benutzersteuerelement in demselben Verzeichnis wie die Seite befindet, in der es enthalten ist, sollte das src-Attribut den Namen und die Erweiterung der ASCX-Datei als Wert erhalten.

Verwenden Sie zum Einfügen benutzerdefinierter Serversteuerelemente, die Sie für die Verwendung in der Anwendung in eine DLL kompiliert haben, das tagprefix-Attribut mit dem assembly-Attribut und dem namespace-Attribut. Wenn Sie das namespace-Attribut nicht angeben oder ihm eine leere Zeichenfolge ("") zuweisen, tritt ein Parserfehler auf.

Warnung

Wenn Sie ein benutzerdefiniertes Serversteuerelement entwickeln, müssen Sie es in einen Namespace aufnehmen. Andernfalls kann von einer ASP.NET-Seite aus nicht darauf zugegriffen werden. Weitere Informationen zum Entwickeln benutzerdefinierter ASP.NET-Serversteuerelemente finden Sie unter Entwickeln von benutzerdefinierten ASP.NET-Serversteuerelementen.

Beispiel

Im folgenden Codebeispiel werden mithilfe von @ Register-Direktiven tagprefix-Aliase und tagname-Aliase deklariert. Des Weiteren wird ein src-Attribut zugewiesen, um in einer Webseite auf ein Benutzersteuerelement zu verweisen. Der erste Teil des Codes ist ein einfaches Benutzersteuerelement, das aus einem ASP.NET-Calendar-Steuerelement besteht. Der zweite Teil des Codes ist eine Seite, die das Steuerelement hostet. Beachten Sie, dass das tagprefix-Attribut einen beliebigen Präfixwert für die Verwendung mit dem Tag zuweist. Das tagname-Attribut verwendet den Wert des Klassennamens, der dem Benutzersteuerelement zugeordnet ist, obwohl dieses Attribut jeden beliebigen Zeichenfolgenwert annehmen kann. Es muss also nicht der Klassenname des Steuerelements verwendet werden, auf das verwiesen wird. Das src-Attribut zeigt auf die Quelldatei des Benutzersteuerelements und wird relativ zum Stammordner der Anwendung angegeben. Innerhalb des Textteils der Seite wird mithilfe des Präfixes, eines Doppelpunkts und des Tagnamens in der Form <uc1:CalendarUserControl runat="server" /> auf das Benutzersteuerelement verwiesen.

<%@ Control ClassName="CalendarUserControl" %>
<asp:calendar id="Calendar1" runat="server" />


<%@ Page %>
<%@ register tagprefix="uc1" 
    tagname="CalendarUserControl" 
    src="~/CalendarUserControl.ascx" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Calendar Page</title>
</head>
<body>
  <form id="form1" runat="server">
    <uc1:calendarusercontrol runat="server" />
  </form>
</body>
</html>

Siehe auch

Referenz

Direktivensyntax

Konzepte

Übersicht über die Syntax von ASP.NET-Webseiten

Weitere Ressourcen

ASP.NET-Benutzersteuerelemente