di: Giuseppe Marchi 05 Settembre 2007
Una volta inserita la classe all'interno dell'applicazione, dobbiamo registrare il controllo web, per permetterci di utilizzarlo nel markup di una pagina ASP.NET; anche in questo caso, le possibili tecniche sono due:
Possiamo una direttiva @Register all'interno di ogni pagina in cui vogliamo utilizzare il nostro controllo, specificando i valori per le proprietà Assembly, Namespace e TagPrefix.
Registrare un controllo su una singola pagina con @Register
<%@ Register Assembly="__code" Namespace="Peppe.Web.UI.WebControls" TagPrefix="peppe" %>
Altrimenti possiamo registrare il controllo Web all'interno del web.config, aggiungendo una nuova voce sotto l'elemento system.web/pages/controls, in modo da poterlo utilizzare in tutte le pagine della nostra applicazione.
Registrare un controllo per tutta l'applicazione
<pages>
<controls>
<add tagPrefix="peppe" namespace="Peppe.Web.UI.WebControls" assembly="__code"/>
</controls>
</pages>
Siamo ora in grado di inserire il controllo all'interno di una pagina web ASP.NET ed utilizzarne le relative funzionalità.
<peppe:PopUpLink ID="popup" runat="server"
Url="http://www.peppedotnet.it"
PopUpWidth="700"
PopUpHeight="500"
Resizable="true">peppedotnet.it</peppe:PopUpLink>
Per far si che il nostro controllo web sia utilizzabile facilmente all'interno di Visual Studio, dobbiamo ricordarci di applicare alcuni accorgimento al codice, in modo tale da renderne possibile anche la ridistribuzione.
Nota: l'integrazione con Visual Studio risulta perfetta solo se si inseriscono i propri controlli web all'interno di assembly .NET specifici.
La prima cosa da fare è decorare il namespace con l'attributo TagPrefix, in grado di specificare all'IDE che prefisso scrivere una volta che il controllo viene spostato tramite drag and drop all'interno della pagina:
Decorare il namespace
[assembly: TagPrefix("Peppe.Web.UI.WebControls", "peppe")]
namespace Peppe.Web.UI.WebControls
{
//...
}
Dobbiamo poi decorare anche la classe che rappresenta il nostro controllo Web con l'attributo ToolboxData, come spiegato precedentemente ed aggiungere ad ogni proprietà gli attributi per specificarne la possibilità di modifica attraverso la toolbox (attributo Browsable), un'eventuale valore di default e un'eventuale descrizione in grado di aiutare lo sviluppatore all'utilizzo del controllo distribuito.
Esempio di decorazione di una proprietà
[Browsable(true), Category("Appearance"), DefaultValue("http://www.peppedotnet.it"), Description("Link url value.")]
public string Url
{
get
{
object o = ViewState["Url"];
return (o == null) ? String.Empty : (string)o;
}
set { ViewState["Url"] = value; }
}
Una volta compilato l'assembly e aggiunto tra le referenze della nostra applicazione web, possiamo procedere all'inserimento del controllo nella toolbox di visual studio (se l'ide non ha provveduto a questa operazione in automatico) in questo modo:
Eseguite queste operazioni, i controlli presenti all'interno della libreria verranno visualizzati nella toolbox di Visual Studio .NET 2005.
In questo articolo abbiamo fatto una panoramica sui controlli lato server presenti all'interno dell'architettura che sta alla base di ASP.NET 2.0 e abbiamo visto quali sono i passi per implementarne di nuovi. Ora, lo sviluppo di controlli web personalizzati è uno dei campi più vasti del .NET Framework, in quanto è possibile soddisfare le più disperate necessità visuali e funzionali per le proprie applicazioni. Inoltre, per fare maggiore chiarezza nell'intera architettura, sono state create varie categorie di controlli (come abbiamo visto nei primi paragrafi dell'articolo) in modo da differenziarne i comportamenti e i relativi utilizzi.
Nei prossimi articoli vedremo com'è possibile aggiungere il supporto per il design-time di Visual Studio .NET al nostro controllo personalizzato e quali sono le altre sotto-famiglie dei Web Server Controls messe a disposizione da ASP.NET 2.
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |