Compartilhar via


@ Register

[Esta documentação destina-se apenas à visualização e está sujeita a alterações em versões posteriores. Os tópicos em branco estão incluídos como espaços reservados.]

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 de aplicativo de rede (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 espaço para nome associado com o 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 (relativo ou absoluto) do declarativa ASP.NET User Controls o arquivo para associar o tagprefix:tagname par.

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

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

Remarks

Incluindo o @ Register diretiva em uma página ou controle de usuário permite que você definir o layout de controles de servidor personalizados ou controles de usuário usando declarativa Sintaxe de controle de servidor personalizado.

Observação

Você também pode registrar controles personalizados em todas as páginas de um aplicativo usando o Controla o elemento para páginas (ASP.NET Settings 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 ASP.NET Themes Overview).

  • 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 o valor "mobile" é usado pelo ASP.NET para identificar a Web móvel controla na System.Web.UI.MobileControls espaço para nome.Você deve evitar usar esse prefixo para seus controles.

Quando você usa o @ Register diretriz 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. Essa é uma opção conveniente durante o desenvolvimento. Se você escolher essa opção, você não use o assembly o atributo na @ Register diretiva.

  • Como um assembly compilado na pasta Bin do aplicativo. Essa é 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 seguinte seqüência fictícia 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 Settings 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 você use um caminho relativo. Por exemplo, suponha que você armazene arquivos de controle de usuário de todos os do seu aplicativo 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 o 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.

Aviso

Ao 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 personalizada.Para obter mais informações sobre como desenvolver controles de servidor ASP.NET controles de servidor, consulte Developing Custom ASP.NET Server Controls.

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 dentro de uma 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 controle. A segunda parte do código é uma página que hospeda o controle. Observe que o tagprefix atributo atribui um valor arbitrário prefixo a ser usado 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 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

Reference

Sintaxe de diretiva de modelo de texto

Concepts

ASP.NET Web Page Syntax Overview

Other Resources

ASP.NET User Controls