Compartir a través de


@ Register

Crea una asociación entre un prefijo de etiqueta y un control personalizado, lo que proporciona a los desarrolladores una forma concisa de hacer referencia a controles personalizados en un archivo de aplicación ASP.NET (incluidos páginas Web, controles de usuario y páginas principales).

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

Atributos

  • assembly
    Ensamblado en el que reside el espacio de nombres que se asocia al atributo tagprefix.

    Nota

    El nombre del ensamblado no incluye una extensión de archivo. Asimismo, tenga en cuenta que, si coloca el archivo de código fuente de un control personalizado en la carpeta App_Code de una aplicación, ASP.NET compila dinámicamente el archivo de código fuente en tiempo de ejecución, por lo que no es necesario utilizar el atributo assembly.

  • namespace
    Espacio de nombres del control personalizado que se registra.
  • tagname
    Alias arbitrario que se asocia a una clase. Este atributo sólo se utiliza para los controles de usuario.
  • tagprefix
    Alias arbitrario que proporciona una referencia abreviada al espacio de nombres del marcado que se utiliza en el archivo que contiene la directiva.

Comentarios

Al incluir la directiva @ Register en una página o un control de usuario, se pueden diseñar controles de servidor o controles de usuario personalizados mediante Sintaxis de controles de servidor personalizados declarativa.

Nota

También se pueden registrar los controles personalizados en todas las páginas de una aplicación utilizando el Elemento controls para pages (Esquema de configuración de ASP.NET) en el archivo Web.config.

Utilice la directiva @ Register en las siguientes situaciones:

  • Para agregar mediante declaración un control de servidor personalizado a una página Web, un control de usuario, una página principal o un archivo de máscara (vea Información general sobre temas y máscaras de ASP.NET).

  • Para agregar mediante declaración un control de usuario a una página Web, un control de usuario, una página principal o un archivo de máscara.

Para los controles de usuario declarativos, utilice los atributos tagname, tagprefix y src. Los dos primeros siempre se utilizan juntos, como un par separado por dos puntos (tagprefix:tagname), al declarar el control en la página. El valor del atributo src puede ser una ruta de acceso relativa o absoluta al archivo de código fuente del control de usuario partiendo del directorio raíz de la aplicación. Para facilitar su utilización, se recomienda usar una ruta relativa. Por ejemplo, suponga que almacena todos los archivos de controles de usuario de la aplicación en un directorio \Usercontrol que es un subdirectorio del directorio raíz de la aplicación. Para incluir el control de usuario encontrado en un archivo Usercontrol1.ascx, agregue lo siguiente a la directiva @ Register:

Src="~\usercontrol\usercontrol1.ascx" 

El carácter tilde (~) representa el directorio raíz de la aplicación.

Nota

Si el control de usuario se encuentra en el mismo directorio que la página que lo contiene, el valor del atributo src debería ser el nombre y la extensión del archivo .ascx.

Al incluir controles de servidor personalizados que se han compilado en un archivo .dll para utilizarlos con la aplicación, utilice el atributo tagprefix con los atributos assembly y namespace. Si no incluye el atributo namespace o si le asigna una cadena vacía (""), se producirá un error en el analizador.

Nota de precauciónPrecaución

Al desarrollar un control de servidor personalizado, es preciso incluirlo en un espacio de nombres. En caso contrario, no será accesible desde una página ASP.NET. Para obtener más información sobre cómo desarrollar controles de servidor ASP.NET personalizados, vea Desarrollar controles de servidor ASP.NET personalizados.

Ejemplo

En el ejemplo de código siguiente se utilizan directivas @ Register para declarar los alias tagprefix y tagname, y se asigna un atributo src, para hacer referencia a un control de usuario en una página Web. La primera parte del código es un control de usuario simple que se compone de un control ASP.NET Calendar. La segunda parte del código es una página que aloja el control. Observe que el atributo tagprefix asigna un valor de prefijo arbitrario que se utiliza con la etiqueta. El atributo tagname usa el valor del nombre de clase asignado al control de usuario (aunque el valor de este atributo es arbitrario y se puede utilizar cualquier valor de cadena, por lo que no es necesario utilizar el nombre de clase del control al que se hace referencia). El atributo src señala al archivo de código fuente del control de usuario, tomando como referencia la carpeta raíz de la aplicación. Para hacer referencia al control de usuario dentro del cuerpo de la página se utiliza el prefijo, dos puntos y el nombre de la etiqueta, con este formato: <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>

Vea también

Referencia

Sintaxis de directivas

Conceptos

Información general sobre sintaxis de páginas Web ASP.NET

Otros recursos

Controles de usuario ASP.NET