Compartilhar via


@ Register

Cria uma associação entre um prefixo de marca e um controle personalizado, que fornece aos desenvolvedores uma maneira concisa para fazer referência a controles personalizados em um aplicativo ASP.Arquivo NET do aplicativo (incluindo páginas da Web, controles de usuário e páginas mestras).

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

Atributos

  • assembly
    O assembly no qual o namespace associado a tagprefix atributo reside.

    Observação

    O nome do assembly não pode incluir uma extensão de arquivo.Observe também que, se a assembly atributo estiver faltando, o ASP.Analisador de rede pressupõe que há código-fonte na pasta App_Code do aplicativo.Se você tiver o código-fonte para um controle que você deseja registrar em uma página sem precisar compilá-lo, coloque o código-fonte na pasta App_Code.ASP.NET compilará dinamicamente os arquivos de origem na pasta App_Code em tempo de execução.

  • namespace
    O namespace do controle personalizado que está sendo registrado.

  • src
    O local do declarativa (relativo ou absoluto) Controles de usuário do ASP.NET o arquivo para associar o tagprefix:tagname par.

  • tagname
    Um alias arbitrário para associar uma classe. Esse atributo é usado somente para os controles de usuário.

  • tagprefix
    Um alias arbitrário que fornece uma referência de taquigrafia para o namespace da marcação que está sendo usado no arquivo que contém a diretiva.

Comentários

Incluindo o @ Register diretiva em uma página ou controle de usuário permite que você para dispor controles de servidor personalizados ou controles de usuário usando declarativa Personalizar Sintaxe de controle do servidor.

Observação

Você também pode registrar controles personalizados em todas as páginas de um aplicativo usando o Controla o elemento de páginas (ASP.NET Configurações Schema) no arquivo Web. config.

Use o @ Register diretiva nas seguintes situações:

  • Para adicionar um controle de servidor personalizado declarativamente para uma página da Web, um controle de usuário, uma página mestra ou um arquivo de capa (consulte Temas e Aparências do ASP.NET).

  • Para adicionar um controle de usuário declarativamente para uma página da Web, um controle de usuário, uma página mestra ou um arquivo de capa.

Observação

O tagprefix valor "móvel" é usado pelo ASP.NET para identificar a Web móveis controles de System.Web.UI.MobileControls namespace.Você deve evitar usar esse prefixo para seus controles.

Quando você usa o @ Register diretiva para fazer referência a um controle, você pode colocar o código para o controle nos seguintes locais:

  • Como o código-fonte na pasta App_Code do aplicativo onde ele irá ser dinamicamente compilado em tempo de execução. Esta é uma opção conveniente durante o desenvolvimento. Se você escolher esta opção, você não usar o assembly o atributo na @ Register diretiva.

  • Como um assembly compilado na pasta Bin do aplicativo. Esta é uma opção comum para aplicativos da Web implantados.

  • Como um assembly compilado e assinado no global assembly cache (GAC). Isso é uma opção comum se você quiser compartilhar um controle compilado entre vários aplicativos. Você pode fazer referência a um controle no GAC, atribuindo uma seqüência de caracteres de identificação para o assembly atributo. A seqüência Especifica os detalhes necessários sobre o controle, incluindo seu nome de tipo totalmente qualificado, sua versão, seu token de chave pública e sua cultura. A seqüência fictícia a seguir ilustra uma referência a um controle personalizado no GAC:

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

    Para obter mais informações sobre como fazer referência a assemblies, consulte Adicionar elemento para assemblies para compilação (ASP.NET Configurações Schema).

Para controles de usuário declarativo, use o tagname, tagprefix, e src atributos. Os dois primeiros são sempre usados juntos como um par separados por dois-pontos (tagprefix:tagname) quando você declara o controle na página. Você pode mapear vários espaços para nome para o mesmo tagname, como no exemplo a seguir:

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

O valor do atributo src pode ser um caminho relativo ou absoluto para o arquivo de origem do controle de usuário do diretório raiz do seu aplicativo. Para facilidade de uso, é recomendável que usar um caminho relativo. Por exemplo, suponha que você armazene arquivos de controle de usuário de todos os seus aplicativos em um diretório de \Usercontrol que é um subdiretório da raiz do aplicativo. Para incluir o controle de usuário, encontrado em um arquivo de Usercontrol1.ascx, inclua o seguinte na @ Register diretiva:

Src="~\usercontrol\usercontrol1.ascx" 

O til (~) o caractere representa o diretório raiz do aplicativo.

Observação

Se seu controle de usuário estiver no mesmo diretório que a página que contém a ele, o src o valor de atributo deve ser o nome e extensão do arquivo. ascx.

Ao incluir controles de servidor personalizados que você tenha compilado em um arquivo. dll para uso com seu aplicativo, use o tagprefix de atributo com o assembly e namespace atributos. Se você não incluir a namespace atributo, ou se você atribuir uma seqüência vazia (""), ocorrerá um erro do analisador.

Observação de cuidadoCuidado

Quando você desenvolver um controle de servidor personalizado, você deve incluí-lo em um namespace.Se você não fizer isso, não será acessível a partir de um aplicativo ASP.NET page.Para obter mais informações sobre como desenvolver controles ASP.NET no servidor, consulte Desenvolvendo Controles Personalizados ASP.NET Server.

Exemplo

O seguinte exemplo de código usa @ Register para declarar as diretivas tagprefix e tagname aliases, juntamente com a atribuição de um src atributo, para fazer referência a um controle de usuário em um página da Web. A primeira parte do código é um controle de usuário simples que consiste em uma página ASP.NET Calendar de controle. A segunda parte do código é uma página que hospeda o controle. Observe que o tagprefix atributo atribui um valor de prefixo arbitrário para usar com a marca. O tagname atributo usa o valor do nome da classe atribuído ao controle de usuário (embora o valor desse atributo é arbitrário e qualquer valor de seqüência de caracteres pode ser usado – você não tem que usar o nome da classe do controle que está sendo referenciado). O src pontos de atributo para o arquivo de origem para o controle de usuário em relação à pasta de raiz do aplicativo. O controle de usuário é referenciado no corpo da página usando o prefixo, dois-pontos e o nome da marca, neste formulário: <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>

Consulte também

Referência

Texto Sintaxe de modelo de diretiva

Conceitos

Visão geral da sintaxe de página da Web ASP.NET

Outros recursos

Controles de usuário do ASP.NET