Masters Pages & Theme

di: Mauro Bennici     10 Marzo 2006

Chiunque si sia imbattuto per la prima volta con del codice ASPX presente nella parte 'body' di una pagina web saràrimasto stupito del cambiamento radicale che la Microsoft ha apportato al buon vecchio ASP. Le cose si complicano al primo tentativo di personalizzare graficamente un intero sito web. I problemi che sorgono sono di norma due: il primo che non è possibile associare un foglio di stile che vada bene per tutti gli elementi della pagina, essendo essi divisi tra elementi HTML e 'WebControl' ASP.NET, ed il secondo che il passaggio dal lavoro grafico a pagine web deve essere fatto, almeno la parte finale, da un programmatore. A peggiorare il tutto ci pensa il mix tra tag ASP.NET e HTML che non permettono ad un web designer di intervenire in maniera sicura su una pagina già montata.

Sul WEB è facile trovare molti modi utilizzati in questi anni per fare fronte a questa effettiva mancanza del linguaggio di casa Microsoft. Dai buoni vecchi template HTML con tag prefissati da sostituire a run-time, che ovviamente non possono far uso di 'WebControl', alla creazione di 'Web Control' personalizzati per un migliore supporto alla fase di aggiunta degli stili. Ognuno di questi metodi comporta una perdita o dal lato strutturale o dal lato prestazionale. Tutte le soluzioni escogitate sono un continuo cercare un punto di equilibrio tra la velocità di sviluppo e di esecuzione con la grafica e/o accessibilità della nostra applicazione.

Se a tutto questo aggiungiamo che alcuni 'Web Control',oltre ad avere delle proprietà per gli stili diversi dai normali tag CSS, hanno anche la possibilità di personalizzare gli elementi in cui sono divisi (il GridView peresempio è composto dalla testata, dalla coda, dagli elementi di paginazione, dalle righe alternate per la visualizzazione, dalle righe per l'editing etc..) il quadro si fa abbastanza nero.

La soluzione ai nostri problemi è arrivata con ASP.NET 2.0. Con il rilascio del Framework.NET 2.0 la società di Redmond, non potendo tornare indietro sui suoi passi e non potendo allo stesso tempo lasciare inascoltate le richieste di tutta la comunità di sviluppatori, ha optato per una soluzione che rappresenta a tutti gli effetti un taglio totale con il passato, seppure tutti i vecchi metodi siano tuttora supportati sia per compatibilità con il passato sia per comodità nel caso in cui non si abbia bisogno di un pesante restyling.

La prima cosa che possiamo notare con l'ausilio della nuova guida è la decisione che una pagina web è ormai a tutti gli effetti un'applicazione a sé stante e quindi non è più, o per lo meno non come lo era prima di ASP.NET, roba da grafici. Il lavoro finale sulle pagine è ad uso esclusivo del programmatore.

La seconda è che abbiamo finalmente a disposizione degli strumenti nati esclusivamente per abbellire le nostre pagine. Questi nuovi strumenti sono le 'Masters Pages' ed i 'Theme'! Entrambi non sono altro che un miglioramento dei 'trucchi' di cui abbiamo parlato sopra senza le limitazioni accennate.

Le 'Masters Pages' altro non sono che dei templateversione ASP.NET, queste ci permettono di creare delle paginestandard alle quali andremo a sostituire dei 'pezzi'opportunamente dichiarati:

<asp:contentplaceholder id="QuiVaIlContenuto" runat="server">

Questa è una pagina di prova!

</asp:contentplaceholder>

e salvare la nostra pagina con l'estensione '.master',inoltre queste pagine non hanno la direttiva '@page'che viene sostituita dalla direttiva '@master'

<%@ master language="VB" %>

Guide ASP.Net

Guida Nant

Nant è il porting del celebre Ant per Java, un 'build tool', un...

Guida ASP.NET MVC

Un percorso per capire i meccanismi del nuovo Framework Microsoft...

Guida Silverlight

Sviluppare Rich Internet Application e contenuti multimediali...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Windows server 2008

29 Marzo 2010 a Milano
Disponibilità: 7 Posti

Corso Webmaster con ASP.Net

22 Marzo 2010 a Roma
Disponibilità: 7 Posti