2012-06-07 17 views
10


Tengo el requisito en el que quiero establecer diferentes páginas maestras para la misma página, dependiendo de ID de usuario (es decir, para un usuario debe establecer una página maestra y para otro usuario debe establecer otro maestro). Podemos configurar diferentes maestros ? páginas para cualquier página dinámica favor ayude ...¿Cómo configurar la página maestra dinámicamente?

+1

posible duplicado de [Configuración de página maestra de una página maestra mediante programación] (http://stackoverflow.com/questions/721814/setting -a-master-pages-master-page-programmatically) –

Respuesta

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

Explicación: puede adjuntar una página principal de forma dinámica a una página de contenido. Debido a que la página maestra y la página de contenido se fusionan durante la etapa de inicialización del procesamiento de la página, se debe asignar una página maestra antes. Normalmente, asigna una página maestra dinámicamente durante la etapa PreInit.

+0

Muchas gracias ... :) –

2

Puede configurar la propiedad MasterPageFile de la Página. Sin embargo, esto lanzará un InvalidOperationException a menos que se llame después del evento PreInit. Eche un vistazo a ASP.NET Page Lifecycle

La propiedad MasterPageFile se puede establecer solo en el evento PreInit; intentar establecer la propiedad MasterPageFile después de que el evento PreInit genere una excepción InvalidOperationException. Si la propiedad MasterPageFile no es válida, se lanza una excepción de tipo HttpException más adelante en el ciclo de vida de la página, pero no se lanza ninguna excepción cuando la propiedad se establece en el evento PreInit.

Cuestiones relacionadas