ASP.NET динамическое изменение главной страницы
можно ли изменить главную страницу страницы содержимого нажатием кнопки на этой странице содержимого?
Если нет то почему?
4 ответов
возможно, вам придется переопределить метод OnPreInit вашего класса codebehind следующим образом...
protected override void OnPreInit(EventArgs e)
{
Page.MasterPageFile = "~/your/masterpage.master";
}
Итак, чтобы связать эту кнопку, Вы можете использовать параметр строки запроса, т. е.
<a href="<%=Request.Url.ToString()%>?masterPage=alternative">Use
alternative master page</a>
и затем в codebehind
protected override void OnPreInit(EventArgs e)
{
if(Request["masterPage"] == "alternative")
{ Page.MasterPageFile = "~/your/alternative/masterpage.master"; }
}
вы можете установить главную страницу программно, однако вы можете сделать это только в событии pre-init.
недавно я сделал это, где я изменил изображение на главной странице на основе страницы, которая была отображена.
1) я ссылался на элемент управления (imgPageSpecificTextImg на главной странице)
2) изменен URL-адрес, на который указывал код.
System.Web.UI.WebControls.Image imgText = (System.Web.UI.WebControls.Image)Master.FindControl("imgPageSpecificTextImg");
imgText.ImageUrl = "images/banner.jpg";