2009-12-24 21 views

Respuesta

13

Es posible, tendrá que reemplazar el método OnPreInit de su clase de código subyacente así ...

protected override void OnPreInit(EventArgs e) 
{ 
    Page.MasterPageFile = "~/your/masterpage.master"; 
} 

Así que para unirse a un clic, se puede utilizar un parámetro de cadena de consulta, es decir,

<a href="<%=Request.Url.ToString()%>?masterPage=alternative">Use 
alternative master page</a> 

Y luego en el código subyacente

protected override void OnPreInit(EventArgs e) 
{ 
    if(Request["masterPage"] == "alternative") 
    { Page.MasterPageFile = "~/your/alternative/masterpage.master"; } 
} 
2

Usted puede tener una, no regular del servidor <form>, con un <input> campo oculto. Cuando el formulario se publica, se comprueba el valor <input> en el evento Pre_Init y se cambia allí la Página maestra.

No puede usar un formulario del lado del servidor con un evento de botón normal, porque se activa demasiado tarde en el ciclo de vida de la página.

0

Hace esto recientemente, cuando cambié una imagen en la página maestra en función de la página que se estaba procesando.

1) que hace referencia al control (imgPageSpecificTextImg en la Página Maestra)

2) Un cambio en la dirección URL que el código estaba señalando.

  System.Web.UI.WebControls.Image imgText = (System.Web.UI.WebControls.Image)Master.FindControl("imgPageSpecificTextImg"); 
      imgText.ImageUrl = "images/banner.jpg"; 
Cuestiones relacionadas