Master page annidate



Le master page sono uno strumento utilissimo per la generazione di template per applicazioni Web. La possibilità di creare master page annidate tra loro era presente già dalla versione 2.0 di ASP.NET, ma Visual Studio non ne prevedeva ancora il supporto a design-time: la modalità visuale si poteva usare solo per la singola master page.

Nel nuovo designer Web è stata aggiunta questa funzionalità, che rende più agile la gestione del layout diviso in master page differenti, una contenuta nell'altra. La visualizzazione gerarchica del layout risulta molto importante, specie quando il portale è complesso, composto da diverse sezioni e magari con template differenti tra loro.

In termini pratici, ora è possibile creare una nuova master page ed avere l'opzione "Select master page" nella finestra di creazione.

Figura 1. Opzione per creare Master Page annidate

Opzione per creare Master Page annidate

Visual Studio creerà la nuova pagina inserendo la direttiva MasterPageFile (che era solita essere utilizzata solo all'interno di content page) con riferimento alla master page appena scelta e un controllo di tipo <asp:Content /> per ogni controllo di tipo <asp:ContentPlaceHolder /> presente nella master page padre. All'interno della master page figlio, possono essere inseriti nuovi place holder di contenuto che verranno ereditati dalle eventuali content page.

Esempio di codice per una Master Page annidata

<%@ Master Language="C#" MasterPageFile="~/Padre.master" AutoEventWireup="false" CodeFile="Figlio.master.cs" Inherits="Figlio" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="mainContent" Runat="Server">
  <table style="width: 100%" cellpadding="0" cellspacing="0">
    <tr>
      <td valign="top" style="width: 200px; background-color: Blue">
        <h2>Figlio.master</h2>
      </td>
      <td valign="top">
        <asp:ContentPlaceHolder ID="centralContent" runat="server">
        </asp:ContentPlaceHolder>
      </td>
    </tr>
  </table>
</asp:Content>

La content page risultante, verrà quindi rappresentata all'interno del designer Web di Visual Studio, in cui appaiono tutti i livelli di layout (le pagine master di livello superiore) e il contenuto al livello corrente.

Figura 2. Visualizzazione di una Master Page annidata

Visualizzazione di una Master Page annidata

È importante notare, infatti, che una content page eredita solamente i placeholder dell'ultima master page, quella da cui è stata direttamente creata.

Ultimi articoli Editor

Adobe Edge, la prima animazione HTML5

Come creare una animazione HTML5 con Adobe Edge, esempio completo

Adobe Edge, l'interfaccia

Esaminiamo pannelli e menu del tool gratuito di Adobe per la...

Trasformazioni XSLT in Dreamweaver 8

Primo sguardo agli strumenti XML: trasformare un feed RSS

Layout senza tabelle con Dreamweaver 8

Esaminiamo gli strumenti CSS avanzati del software di Adobe/Macromedia

Il nuovo Dreamweaver 8

Panoramica delle principali novità dell'ultima release del popolare...

Altri articoli

Guide Editor

Guida WebMatrix

Entrare nel mondo dello sviluppo di applicazioni Web con Webmatrix,...

Guida Notepad++

Un editor testuale che funziona perfettamente anche come editor HTML...

Guida Aptana

Creare siti Web o applicazioni con Aptana, l'editor open source,...

Altre guide

Newsletter @Daily HTML.it

Ogni mattina, dal lunedì al venerdì, le novità pubblicate su tutti i siti tecnici del network HTML.it: articoli, guide, notizie dal Web, blog e molto altro.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti