Creare Master Page annidate con ASP.NET 2.0

di Daniele Bochicchio, in ASP.NET 2.0, Master Pages,

ASP.NET 2.0 introduce il supporto per le Master Page, che consentono di "disegnare" la forma di un sito e mantenerla costante in tutte le pagine.
Spesso però si ha la necessità di personalizzare il template in maniera specifica solo per alcune aree del sito ed è proprio in questi casi che il supporto per le Master Page annidate si rivela quanto mai utile.

Per prima cosa è necessario creare la Master Page principale, ad esempio in questo modo:

...Contenuto del sito...
<asp:contentplaceholder id="Body" runat="server" />

Questa prima Master Page rappresenterà quella utilizzata come base dalle altre. A questo punto, basta crearne di nuove ed impostare nella direttiva [code lang="aspx"]<%@Master %> il path di quella su cui ci si basa, per poi sostituire i ContentPlaceHolder con altrettanti controlli Content, che a loro volta conterranno i ContentPlaceHolder necessari a rendere possibile la sostituzione del contenuto della pagina:

<%@ Master MasterPageFile="~/root.master" %>
<asp:Content ID="LocalBody" ContentPlaceHolderID="Body" runat="server">
  Body locale della MP
  <asp:ContentPlaceHolder ID="Body" runat="server" />
</asp:Content>

La Master Page appena creata sarà così utilizzabile normalmente all'interno delle pagine, ma sarà in realtà composta sfruttando a propria volta un'altro oggetto dello stesso tipo.

Con questa tecnica, nell'attuale versione di VS 2005, si perde il supporto a design time.

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.

Approfondimenti

I più letti di oggi