Действительно ли возможно изменить основную страницу довольной страницы щелчком кнопки на той довольной странице?
Если не, почему?
Возможно, вам придется переопределить метод 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>
А затем в кодебеинде
protected override void OnPreInit(EventArgs e)
{
if(Request["masterPage"] == "alternative")
{ Page.MasterPageFile = "~/your/alternative/masterpage.master"; }
}
Можно программно настроить главную страницу, но сделать это можно только в событии pre-init.
Вы можете иметь обычный, не серверный , со скрытым
полем. Когда сообщения формы, вы проверяете значение
в событии
Pre_Init
, и меняете там главную страницу.
Вы не можете использовать серверную форму с обычным событием кнопки, так как они стреляют слишком поздно в жизненном цикле страницы.
.