2012-06-07 23 views
10


Ho il requisito in cui voglio impostare diverse pagine mastro per la stessa pagina a seconda di userid (cioè per un utente deve impostare una pagina master e per un altro utente deve impostare un altro master). ? pagine per qualsiasi pagina in modo dinamico Please help ...Come impostare la Pagina Master dinamicamente?

+1

possibile duplicato di [Impostazione pagina master di una pagina master di programmazione] (http://stackoverflow.com/questions/721814/setting -a-master-pages-master-page-programmaticamente) –

risposta

23
void Page_PreInit(Object sender, EventArgs e) 
{ 
    this.MasterPageFile = "~/MyMaster.master"; 
} 

Spiegazione: È possibile allegare una pagina master in modo dinamico a una pagina di contenuto. Poiché la pagina principale e la pagina del contenuto vengono unite durante la fase di inizializzazione dell'elaborazione della pagina, è necessario assegnare prima una pagina master. In genere, si assegna una pagina master in modo dinamico durante la fase PreInit.

+0

Grazie mille .. :) –

2

È possibile, impostando la proprietà MasterPageFile della Pagina. Tuttavia, verrà generato un valore InvalidOperationException a meno che non venga chiamato dopo l'evento PreInit. Date un'occhiata allo ASP.NET Page Lifecycle

La proprietà MasterPageFile può essere impostata solo nell'evento PreInit; il tentativo di impostare la proprietà MasterPageFile dopo l'evento PreInit genererà un'eccezione InvalidOperationException. Se la proprietà MasterPageFile non è valida, un'eccezione di tipo HttpException viene generata successivamente nel ciclo di vita della pagina, ma non viene generata alcuna eccezione quando la proprietà viene impostata nell'evento PreInit.

Problemi correlati