Quando vengo preso dai dubbi...
Con le MasterPage è possibile inserire lo stesso cidice HTML all'interno delle pagine, utilissimo per titoli e menu vari dei siti. E' anche possibile inserire pagine "Master" all'interno di altre pagine "Master"... ma dove sta il limite? C'è un limite di sotto Master?
Non ho resistito ed ho fatto delle prove.
Ho scritto la prima pagina con questo codice:
<%@ Master Language="VB" %> <body> <form id="form1" runat="server"> <div> <h1>Io sono il padre dei padri dei padri</h1> <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"> </asp:contentplaceholder> </div> </form> </body> </html>
Quindi con mi sono scritto un generatore di codice per scrivere tutti i "figli":
<%@ Master Language="C#" MasterPageFile="~/master/padre1.master" %> <asp:Content ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <p>Io sono il figlio 2</p> <asp:contentplaceholder id="ContentPlaceHolder2" runat="server"> </asp:contentplaceholder></asp:Content>
E così via, fino alla pagina finale:
<%@ Page Language="C#" MasterPageFile="~/master/padre1000.master" Title="Untitled Page"%> <script runat="server"> void Page_Load() { ora.Text = DateTime.Now.ToString(); } </script> <asp:Content ContentPlaceHolderID="ContentPlaceHolder1000" Runat="Server"> <asp:Label ID="ora" Runat="Server" /> </asp:Content>
Dico subito che non ho visto il limite: sono arrivato a 1.000 masterpage inserite uno all'interno dell'altra. Più che sufficienti per ogni scopo, no? Il problema reale è stato un altro: il tempo di compilazione. Anche allungando il timeout di compilazione a trent'anni, per sole 300 masterpage sul mio PC (P4 2.4GHz), ci sono voluti all'incirca 6 minuti la prima volta che è stata chiamata la pagina (nelle chiamate successive le risposte sono istantanee ovviamente). Come tempi di compilazione accettabili ho notato che non si deve andare oltre le 50.
Arrivato a 1.000 mi sono stancato e non ho investigato oltre...
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Un po' di benchmark tra Linq, Entity Framework e Nhibernate, il 12 ottobre 2008 alle 14:46
- UrlRewriting con trabocchetti vari, l'11 dicembre 2007 alle 21:00
- Windows Forms - DataGridView e validazione, il 23 settembre 2007 alle 20:08
- ControlParameter e masterpage... bug?, il 23 dicembre 2006 alle 15:58
- Se Visual Studio 2005 non accetta più la tastiera, il 16 dicembre 2006 alle 20:45
- Service Pack 1 di Visual Studio 2005, il 16 dicembre 2006 alle 20:35