@ Register

Vytvoří přidružení mezi prefixem značky a vlastním ovládacím prvkem, který poskytuje vývojářům jednoduchý způsob pro odkazování se na vlastní ovládací prvky v souboru aplikace technologie ASP.NET (včetně webových stránek, uživatelských ovládacích prvků a stránek předlohy).

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

v případě vícehodnotových atributů

  • assembly
    Sestavení, ve kterém se nachází obor názvů spojený s atributem tagprefix.

    PoznámkaPoznámka

    Název sestavení nesmí obsahovat příponu souboru.Všimněte si také, že pokud atribut assembly chybí, analyzátor technologie ASP.NET předpokládá, že existuje zdrojový kód ve složce App_Code aplikace.Pokud máte zdrojový kód ovládacího prvku, který chcete zaregistrovat na stránce bez nutnosti kompilování, umístěte zdrojový kód do složky App_Code.Technologie ASP.NET dynamicky kompiluje zdrojové soubory ve složce App_Code za běhu.

  • namespace
    Obor názvů vlastního ovládacího prvku, který je registrován.

  • src
    Umístění (relativní nebo absolutní) deklarativního souboru Uživatelské ovládací prvky technologie ASP.NET, který chcete přidružit páru tagprefix:tagname.

  • tagname
    Libovolný alias pro přidružení ke třídě. Tento atribut slouží pouze pro uživatelské ovládací prvky.

  • tagprefix
    Libovolný alias poskytující zjednodušený odkaz na obor názvů značky použité v souboru obsahujícím direktivu.

Poznámky

Obsažení direktivy @ Register ve stránce nebo uživatelském ovládacím prvku umožňuje vložení vlastních serverových ovládacích prvků s nebo uživatelských ovládacích prvků použitím deklarace Syntaxe vlastních serverových ovládacích prvků.

PoznámkaPoznámka

Můžete registrovat vlastní ovládací prvek na všech stránkách aplikace také pomocí Element controls pro stránky (schéma nastavení ASP.NET) v souboru Web.config.

Direktivu @ Register použijte v následujících situacích:

  • Pro deklarativní přidání vlastního serverového ovládacího prvku na webovou stránku, uživatelský ovládací prvek, stránku předlohy nebo souboru skinu (viz. Motivy a vzhledy technologie ASP.NET).

  • Pro deklarativní přidání uživatelského ovládacího prvku na webovou stránku, uživatelský ovládací prvek, stránku předlohy nebo souboru skinu.

PoznámkaPoznámka

Hodnota tagprefix "mobile" je použita technologií ASP.NET k identifikaci mobilních webových ovládacích prvků v oboru názvů System.Web.UI.MobileControls.Neměli byste používat tuto předponu pro vaše ovládací prvky.

Při použití direktivy @ Register pro odkaz na ovládací prvek, můžete umístit kód ovládacího prvku na následující místa:

  • Zdrojový kód ve složce aplikace App_Code, kde bude dynamicky kompilován v době běhu. To je vhodná volba během vývoje. Pokud zvolíte tuto možnost, nepoužijte atribut assembly v direktivě @ Register.

  • Jako zkompilované sestavení ve složce Bin aplikace. To je běžná volba pro nasazené webové aplikace.

  • Jako zkompilované a podepsané sestavení v globální mezipaměti sestavení (GAC). Toto je běžná volba, pokud chcete sdílet zkompilovaný ovládací prvek mezi více aplikacemi. Můžete se odkazovat na ovládací prvek v globální mezipaměti sestavení (GAC) přiřazením identifikačního řetězce atributu assembly. Řetězec určuje požadované podrobnosti o ovládacím prvku, včetně jeho plně kvalifikovaného názvu, jeho verze, jeho tokenu veřejného klíče a jeho jazykové verze. Následující fiktivní řetězec ukazuje odkaz na vlastní ovládací prvek v globální mezipaměti sestavení (GAC):

    <%@ Register  tagprefix="custom"
         namespace="Mycompany.namespace"
         assembly="Mycompany.namespace.control, Version=1.2.3.4, 
            PublicKeyToken=12345678abcdefgh, Culture=neutral"  %>
    

    Další informace o odkazování se na sestavení, naleznete v tématu Element add podelementu assemblies elementu compilation (schéma nastavení ASP.NET).

Pro deklaraci uživatelských ovládacích prvků, použijte atributy tagname, tagprefix a src. První dva se vždy používají společně jako dvojtečkou oddělené páry (tagprefix:tagname), pokud deklarujete ovládací prvek na stránce. Lze mapovat více oborů názvů na stejný tagname, jako v následujícím příkladu:

<% @Register tagprefix="tag1" namespace="MyNamespace1"/>
<% @Register tagprefix="tag1" namespace="MyNamespace2"/> 

Hodnota atributu src může být buď relativní nebo absolutní cesta ke zdrojovému souboru uživatelského ovládacího prvku kořenového adresáře aplikace. Pro snadné použití je vhodné použít relativní cestu. Předpokládejme například, že ukládáte soubory všech uživatelských ovládacích prvků aplikace do adresáře \Usercontrol, který je podadresář kořene vaší aplikace. Chcete-li vložit uživatelský ovládací prvek nalezený v souboru Usercontrol1.ascx, vložte následující do direktivy @ Register:

Src="~\usercontrol\usercontrol1.ascx" 

Znak tilda (~) představuje kořen aplikace.

PoznámkaPoznámka

Pokud je váš uživatelský ovládací prvek ve stejném adresáři jako stránka, která jej obsahuje, měla by být hodnota atributu src jméno a přípona souboru ASCX.

Při vkládání vlastního serverového ovládacího prvku, který jste zkompilovali do souboru DLL pro použití s vaší aplikací, použijte atribut tagprefix s assembly a namespace. Pokud nevložíte atribut namespace, nebo pokud přiřadíte prázdný řetězec (""), dojde k chybě analyzátoru.

Poznámka k upozorněníUpozornění

Když vyvíjíte vlastní serverový ovládací prvek, je třeba jej zahrnout do oboru názvů.Pokud tak neučiníte, nebude přístupný ze stránky technologie ASP.NET.Další informace o vývoji vlastních serverových ovládacích prvků, naleznete v Vývoj vlastních serverových ovládacích prvků ASP.NET.

Příklad

Následující příklad kódu používá direktivu @ Register k deklaraci aliasů tagprefix a tagname spolu s přiřazením atributu src pro odkaz na uživatelský ovládací prvek na webové stránce. První část kódu je jednoduchý uživatelský ovládací prvek skládající se z ovládacího prvku Calendar technologie ASP.NET. Druhá část kódu je stránka, která je hostitelem ovládacího prvku. Všimněte si, že atribut tagprefix přiřadí libovolnou hodnotu předpony pro použití se značkou. Atribut tagname používá hodnotu názvu třídy přiřazené uživatelskému ovládacímu prvku (i když je hodnota tohoto atributu libovolná a lze použít libovolný řetězec – není nutné použít název třídy odkazovaného ovládacího prvku). Atribut src ukazuje na zdrojový soubor uživatelského ovládacího prvku relativně ke kořenové složce aplikace. Na uživatelský ovládací prvek v tomto formuláři se v těle stránky odkazuje pomocí předpony, dvojtečky a názvu značky: <uc1:CalendarUserControl runat="server" />.

<%@ 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>

Viz také

Odkaz

Syntaxe šablony textu směrnice

Koncepty

Přehled syntaxe webová stránky technologie ASP.NET

Další zdroje

Uživatelské ovládací prvky technologie ASP.NET