In attesa di Whidbey, arrangiamoci: Master Page fatte in casa!

di Daniele Bochicchio, in ASPItalia.com Network,

Appare sempre più chiaro (anche dal mio nuovo nick su messenger :) che sono una persona che ama Whidbey, anche e soprattutto perchè io adoro scrivere un sacco di codice :D

Scherzi a parte, se si potesse dire ai clienti di aspettare il 2005 (continuando a pagare comunque :) sarebbe fantastico, ma la realtà è diversa.

E così ci tocca arrangiarci. Un'area che trovo fondamentale è quella della consistenza grafica di un sito. Ai tempi del cambio di ASPItalia.com (e quindi via di rinomina a tutte le pagine, con una bella x in fondo) ho dovuto fare un piccolo programmino che prendeva in pasto le pagine, cambiava gli include etc.

Ai tempi, febbraio 2001, la mia esperienza reale su ASP.NET era poca, come quella di tutti del resto. E così sono andato di user control per personalizzare la grafica. Per carità, comodissimo ed alla fine fa il suo sporco lavoro. Appunto, sporco. Aggiungere ogni volta:

<aspitalia:sopra runat="server" />

pagina

<aspitalia:sotto runat="server" />

e registrare gli user control non è però proprio il massimo ed appunta contamina la pagina. In giro si trovano tecniche diverse, alcune interessanti come quella che sfrutta l'ereditarietà per costruire l'interfaccia grafica.

Il concetto è semplice: ASP.NET permette di caricare a run-time (all'incirca, passatemi il termine per capirci :) gli user control, da aggiungere poi al control tree. In genere ne servono due, uno che va in posizione zero, uno che va come ultimo.

La classe Page, da cui tutte ereditano, ha un evento Render, a cui viene passato un HtmlWriter contenente tutto il codice da mostrare a video. Sovrascrivendo queste evento in pratica si può influenzare l'output della pagina. Il resto viene da sè, basta scrivere un po' di codice (come ho fatto :).

E quindi ecco le Master Page fatte in casa! Il resto (il codice, appunto :) nel numero di domani di unoscript@lgiorno.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese