The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何動態修改巢狀 MasterPage 的 MasterPageFile 屬性

我前天遇到一個 ASP.NET 開發的問題,我有一個網站,其中有些頁面套用了一層的 MasterPage、有些套用了兩層 MasterPage、有些套用了三層 MasterPage,這些套兩層以上 MasterPage 的 MasterPage 在第二層的地方都是套用第一層的 MasterPage,不過客戶突然說第一層的 MasterPage 必須要依據不同的網域名稱(Domain Name)而選用不同的 MasterPage,最後耗了我三個小時才解決這個問題。

MasterPage 的套用關係大致的示意如下:

MasterPageTop.master
   ->  MasterPageChannel1.master
       -> MasterPageChannel1_1.master
           -> ContentPage.aspx

而我的需求是要動態變更 MasterPageChannel1.master 裡的 MasterPageFile 屬性,讓 ContentPage.aspx 在顯示的時候將 MasterPageTop.master 改成 MasterPageTop2.master。

... 繼續閱讀 ...

ASP.NET 2.0 的 MasterPage 可設定預設內容

我們都知道可以在 MasterPage 中可以設定 ContentPlaceHolder,但通常我們設定在 ContentPlaceHolder 這的標籤裡面都不會放任何資料,不過事實上裡面是可以放一些預設的內容的,當內容頁(Content Page)沒有使用到這個 ContentPlaceHolderID 時,就會直接用 MasterPage 中定義的預設內容來輸出。

... 繼續閱讀 ...