Dot-Net
在執行時設置 ASP.NET 母版頁
我正在開發一個需要能夠支持兩種或多種外觀的網站,在執行時可以更改。我希望能夠使用 CSS 開關來處理更改,但看起來我需要為每個設計使用不同的母版頁。
那麼,在執行時設置母版頁的最佳方法是什麼?Page.MasterPageFile 只能在 Page.OnPreInit 事件中設置。看起來解決方案是讓我的所有頁面都從處理 PreInit 事件的公共基礎繼承,或者使用執行此操作的 HttpModule。
有什麼建議嗎?
我以前做過一次,我完全按照你的描述做了(使所有頁面都繼承自帶有 OnPreInit 事件的自定義頁面)。此外,我在 Global.asax.cs 中有一個自定義 Application_PreRequestHandlerExecute 用於設置 Page.StyleSheetTheme 以進行不需要不同母版頁的圖像/css 更改。
與其擁有兩個不同的母版頁,不如擁有一個動態載入不同使用者控制項和內容 HTML 文字的母版?