@ Register

Crea un'associazione tra un prefisso di tag e un controllo personalizzato che consente agli sviluppatori di fare riferimento in modo conciso ai controlli personalizzati in un file di applicazione ASP.NET (compresi pagine Web, controlli utente e pagine master).

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

Attributi

  • assembly
    Assembly in cui si trova lo spazio dei nomi che viene associato all'attributo tagprefix.

    Nota

    Il nome dell'assembly non include un'estensione file. Si noti, inoltre che, se si inserisce il file di codice sorgente per un controllo personalizzato nella cartella App_Code di un'applicazione, il file di origine viene compilato dinamicamente in fase di esecuzione, pertanto non è necessario utilizzare l'attributo assembly.

  • namespace
    Lo spazio dei nomi del controllo personalizzato sottoposto a registrazione.
  • src
    Percorso (relativo o assoluto) del file Controlli utente ASP.NET dichiarativo da associare alla coppia tagprefix:tagname.
  • tagname
    Alias arbitrario da associare a una classe. Questo attributo viene utilizzato solo per i controlli utente.
  • tagprefix
    Alias arbitrario che fornisce un riferimento rapido allo spazio dei nomi del codice utilizzato nel file contenente la direttiva.

Note

Se si include la direttiva @ Register in una pagina o in un controllo utente, è possibile disporre controlli server o controlli utente personalizzati tramite la sintassi Sintassi di controlli server personalizzati dichiarativa.

Nota

È inoltre possibile registrare controlli personalizzati in tutte le pagine di un'applicazione utilizzando Elemento controls per pages (schema delle impostazioni ASP.NET) nel file Web.config.

Utilizzare la direttiva @ Register nelle situazioni seguenti:

  • Per aggiungere un controllo server personalizzato in modo dichiarativo a una pagina Web, a un controllo utente, a una pagina master o a un file di interfaccia (vedere Cenni preliminari su temi e interfacce ASP.NET).

  • Per aggiungere un controllo utente in modo dichiarativo a una pagina Web, a un controllo utente, a una pagina master o a un file di interfaccia.

Per i controlli utente dichiarativi, utilizzare gli attributi tagname, tagprefix e src. I primi due vengono sempre utilizzati insieme come coppia separata dal segno di due punti (tagprefix:tagname) quando si dichiara il controllo nella pagina. Il valore dell'attributo src può essere un percorso relativo o assoluto per il file di origine del controllo utente a partire dalla directory principale dell'applicazione. Per praticità, si consiglia di utilizzare un percorso relativo. Si supponga, ad esempio, di memorizzare tutti i file dei controlli utente dell'applicazione in una directory \Usercontrol che è una sottodirectory della directory principale dell'applicazione. Per includere il controllo utente presente nel file Usercontrol1.ascx, inserire nella direttiva @ Register la stringa seguente:

Src="~\usercontrol\usercontrol1.ascx" 

Il carattere tilde (~) rappresenta la directory principale dell'applicazione.

Nota

Se il controllo utente si trova nella stessa directory della pagina che lo contiene, il valore dell'attributo src deve corrispondere al nome e all'estensione del file ascx.

Quando si includono controlli server personalizzati che sono stati compilati in un file dll per essere utilizzati con l'applicazione, utilizzare l'attributo tagprefix insieme agli attributi assembly e namespace. Se non si include l'attributo namespace o se si assegna una stringa vuota ("") a tale attributo, si verificherà un errore del parser.

Nota di avvisoAttenzione

Quando si sviluppa un controllo server personalizzato, è necessario includerlo in uno spazio dei nomi, altrimenti non risulterà accessibile da una pagina ASP.NET. Per ulteriori informazioni sullo sviluppo di controlli server ASP.NET, vedere Sviluppo di controlli server ASP.NET personalizzati.

Esempio

Nell'esempio di codice riportato di seguito vengono utilizzate le direttive @ Register per dichiarare gli alias tagprefix e tagname assegnando nel contempo un attributo src per fare riferimento a un controllo utente all'interno di una pagina Web. La prima parte del codice è un controllo utente semplice costituito da un controllo Calendar ASP.NET. La seconda parte del codice è una pagina che contiene il controllo. Si noti che l'attributo tagprefix assegna un valore di prefisso arbitrario da utilizzare con il tag. L'attributo tagname utilizza il valore del nome della classe assegnato al controllo utente (sebbene il valore di questo attributo sia arbitrario e possa essere utilizzato qualsiasi valore di stringa, non è necessario utilizzare il nome della classe del controllo a cui si fa riferimento). L'attributo src fa riferimento al file di origine per il controllo utente relativo alla cartella principale dell'applicazione. Al controllo utente viene fatto riferimento all'interno del corpo della pagina mediante il prefisso, il segno di due punti e il nome del tag, nel formato seguente: <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>

Vedere anche

Riferimenti

Sintassi delle direttive

Concetti

Cenni preliminari sulla sintassi delle pagine Web ASP.NET

Altre risorse

Controlli utente ASP.NET