,使在ASP.NET激烈的用戶界面的變化,最簡單的方法是使用每個看看不同的母版頁。您可以更改代碼隱藏中正在使用的主頁面。
沒有爲Working with ASP.NET Master Pages Programmatically MSDN上的例子,而是我做它在Global.asax的,因此它可以被應用於站點範圍:
protected void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
Page p = this.Context.Handler as Page;
if (p != null)
{
p.PreInit += new EventHandler(page_PreInit);
}
}
protected void page_PreInit(object sender, EventArgs e)
{
Page p = this.Context.Handler as Page;
if (p != null)
{
p.Theme = "SomeGreatTheme"; //optional.. I personally don't use them.
p.MasterPageFile = "~/BestMasterPage.master"; //i.e. that web.config value or DB value.
}
}
雖然一個警告,這是一個有點棘手設計網站,具有足夠的靈活性來處理許多不同的CSS和母版頁源...
儘管這可能會導致大討論;這本身就意味着它有點寬泛。我還會刪除「有什麼工具?」因爲只有這個問題可以讓你的主題關閉,因爲SO上不允許使用工具建議。歡呼聲 –
它在你的標題。主題。而你甚至不需要那些。您可以通過加載不同的母版頁來單擊來更改整個網站。我有一個webforms/mvc混合網站,它既有固定寬度(舊)主題,又有一個響應式,完全不同的主題並行運行。相同的代碼庫。不同的母版頁。 – MikeSmithDev
MikeSmithDev ...但是當您創建.aspx頁面時,您必須告訴他們綁定了哪個masterpage以便創建該指令。你如何改變這樣的動態頁面? –