Le Pagine Master
Le pagine master ASP.NET consentono di creare un layoutlineare/costante per le pagine della vostra applicazione web.
Con una singola pagina master è possibile definirel'aspetto e il comportamento standard per tutte o per ungruppo di pagine dell'applicazione. Successivamentepotranno essere create delle pagine di contenuto singole congli elementi che si desidera visualizzare. Quando vengonorichieste, le pagine di contenuto vengono unite alla paginamaster generano un output in cui si congiuncono il layoutdefinito nella pagina master e il contenuto della pagina dicontenuto.
Le pagine master sono costituite essenzialmente da due parti,la pagina master vera e propria e una o più pagine dicontenuto.
Una pagina master è un file ASP.NET con estensionemaster, ad esempio MySite.master, che presenta un layoutpredefinito in cui sono compresi elementi HTML, controlliserver e testo statico. La pagina master èidentificata da una direttiva @ Master speciale, chesostituisce la direttiva @ Page utilizzata per le pagine aspxordinarie, questa ha dei campi DIV che faranno da involucro acontenuti dinamici, consideriamoli come segnaposto percontenuti dinamici.
Tramite questi segnaposto è possibile definire areeper la visualizzazione di contenuti sostituibili, definiti aloro volta nelle pagine di contenuto.
Una volta definiti i controlli ContentPlaceHolder, una paginamaster può essere analoga alla seguente:
<% @ Master Language="VB" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html ><head runat="server" > <title>Master page title</title></head><body> <form id="form1" runat="server"> <table><tr> <td><asp:contentplaceholder id="Main" runat="server" /></td> <td><asp:contentplaceholder id="Footer" runat="server" /></td></tr> </table> </form></body></html>
Il contenuto di una pagina di contenuto viene creatoaggiungendo controlli Content ed eseguendo il mapping diquesti ultimi sui controlli ContentPlaceHolder nella paginamaster.
Ad esempio, nella pagina master di esempio sonopresenti segnaposto di contenuto denominati Main e Footer.Nella pagina di contenuto è possibile creare duecontrolli Content mappati rispettivamente sul segnaposto Maindel controllo ContentPlaceHolder e sul segnaposto Footer delcontrollo ContentPlaceHolder, come indicato nella figura chesegue.
Sostituzione del contenuto dei segnaposto
Una volta creati i controlli Content, è possibileaggiungervi testo e ulteriori controlli. In una pagina dicontenuto tutti gli elementi non inclusi all'interno delcontrollo Content genereranno un errore, ad eccezione deiblocchi di script per il codice server. In una pagina dicontenuto possono essere effettuate tutte le operazionieseguibili in una pagina ASP.NET. È ad esempiopossibile generare contenuti per un controllo Contentutilizzando i
Questa ad esempio può essere esempio di una pagina dicontenuto :
<% @ Page Language="VB" MasterPageFile="~/Master.master" Title="Content Page 1" %><asp:Content ID="Content1" ContentPlaceHolderID="Main" Runat="Server"> Main content.</asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="Footer" Runat="Server" > Footer content.</asp:content>