sabato 21 aprile 2007

Creare un web custom control - Parte 7

Integrare il controllo in un progetto ASP.NET

Per integrare il controllo in un progetto di Visual Web Developer è necessario compilarlo per ottenere una DLL, copiarla poi nella cartella bin del progetto non è sufficiente perché significherebbe rinunciare alla possibilità di integrarlo all'interno dell'interfaccia offerta da Visual Studio, ma seguendo pochi semplici passi è possibile includerlo nel toolbox per poterlo poi utilizzare come un qualunque altro controllo:

1 - Aggiungere il controllo al toolbox cliccano con il tasto di destra sul toolbox stesso, selezionando poi la voce "Choose Items ..." e infine caricando la DLL appena compilata.

2 - Copiare il file .js con le funzioni necessarie al funzionamento del controllo all'interno della directory del sito e ricordarsi di referenziarlo all'interno dell'header di ogni pagina aspx nel quale intendiamo utilizzare il controllo:



E adesso è possibile iniziare ad utilizzare il controllo. Piazziamo il controllo sulla pagina e valorizziamo le proprietà principale, da codice creiamo l'array MenuItem che definisce le voci di menu e lo passiamo al controllo:

#using ExploWCC;

...

if (!IsPostBack)
{
MenuItem[] yv = new MenuItem[4];

yv[0].Title = "Menu numero 1";
yv[0].ToolTip = "Questo è il tooltip 1";

yv[1].Title = "Menu numero 2";
yv[1].ToolTip = "Questo è il tooltip 2";

yv[2].Title = "Menu numero 3";
yv[2].ToolTip = "Questo è il tooltip 3";

yv[3].Title = "Menu numero 4";
yv[3].ToolTip = "Questo è il tooltip 4";

MenuLeft.MenuItems = yv;
}

Poi è necessario gestire l'evento aggiungendo il seguente codice:

protected void MenuLeft_MenuChange(object sender, int e)
{
MenuLeft.Selected = e;
}

e valorizzare l'attributo OnMenuChange nel tag del controllo:

OnMenuChange="MenuLeft_MenuChange"

Fine, è tutto (o quasi, è evidente che per arricchire il controllo è necessario definire stili, aggiungere immagini ... ma questo è lavoro per il webdesigner. Nella prossima, ed ultima, puntata integrerò il nostro controllo in un progetto Ajax e infine renderò possibile per lo scaricamento il progetto completo sia del controllo che del sito che lo utilizza.

Nessun commento: