2
我有下面這段代碼:動態更改主頁面..從主頁面?
public abstract class BasePage : Page
{
protected void Page_PreInit(object sender, EventArgs e)
{
if (IsPostBack)
return;
var section = ConfigurationManager.GetSection("UrlRewriter/PlainRules");
if (section == null)
SetMaster("~/App_Shared/Master/BaseRegular.Master");
else
SetMaster("~/App_Shared/Master/BaseRewritable.Master");
}
protected void SetMaster(string value)
{
MasterPage master = Master;
while (master != null)
{
if (master is SharedMaster)
{
master.MasterPageFile = value;
break;
}
master = master.Master;
}
}
}
它在動態改變我的母版頁的偉大工程,但我希望能夠直接從SharedMaster
做到這一點,而不是從每一個單頁我有。
Page_PreInit如果放置在母版頁上並不會觸發,那麼我該怎麼做到這一點?
我仍然必須在所有頁面中繼承此BasePage,這是我想避免 – bevacqua
@Nico,從常見的基本頁面繼承始終是一個好主意。我已經多次使用基本頁面,以便在稍後階段將一些常用功能推送到所有頁面中。 – VinayC