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.

http://odetocode.com/articles/450.aspx


вы можете иметь обычный, не сервер <form>, со скрытым


недавно я сделал это, где я изменил изображение на главной странице на основе страницы, которая была отображена.

1) я ссылался на элемент управления (imgPageSpecificTextImg на главной странице)

2) изменен URL-адрес, на который указывал код.

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