È possibile modificare la pagina principale di una pagina di contenuto con il clic di un pulsante su tale pagina di contenuto?Cambio dinamico ASP.NET della pagina master
Se no perché?
È possibile modificare la pagina principale di una pagina di contenuto con il clic di un pulsante su tale pagina di contenuto?Cambio dinamico ASP.NET della pagina master
Se no perché?
E 'possibile, si dovrà eseguire l'override del metodo OnPreInit della classe codebehind in questo modo ...
protected override void OnPreInit(EventArgs e)
{
Page.MasterPageFile = "~/your/masterpage.master";
}
Quindi, per legare ad un clic, è possibile utilizzare un parametro di stringa di query, vale a dire
<a href="<%=Request.Url.ToString()%>?masterPage=alternative">Use
alternative master page</a>
E poi nel codebehind
protected override void OnPreInit(EventArgs e)
{
if(Request["masterPage"] == "alternative")
{ Page.MasterPageFile = "~/your/alternative/masterpage.master"; }
}
È possibile impostare il programma pagina master maticamente, tuttavia puoi farlo solo nell'evento pre-init.
Si può avere un regolare, non server <form>
, con un <input>
campo nascosto. Quando il modulo viene inserito, si controlla il valore <input>
nell'evento Pre_Init
e si modifica la Pagina mastro.
Non è possibile utilizzare un modulo sul lato server con un evento pulsante normale, perché si attivano troppo tardi nel ciclo di vita della pagina.
L'ho fatto di recente dove ho modificato un'immagine nella pagina principale in base alla pagina che si stava eseguendo.
1) ho fatto riferimento al controllo (imgPageSpecificTextImg sul Masterpage)
2) Modificato l'URL che il codice stava indicando.
System.Web.UI.WebControls.Image imgText = (System.Web.UI.WebControls.Image)Master.FindControl("imgPageSpecificTextImg");
imgText.ImageUrl = "images/banner.jpg";
Ma come può essere collegato un pulsante a questo? – anonymous