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 Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

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 Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto