我前天遇到一個 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。
... 繼續閱讀 ...
我們其實可以把一些需要在頁面中共用的變數放在 MasterPage 中,以簡化各頁面中不斷重複的程式碼,例如:登入者資訊、共用的頁面資料、...等資料。
... 繼續閱讀 ...
我們都知道可以在 MasterPage 中可以設定 ContentPlaceHolder,但通常我們設定在 ContentPlaceHolder 這的標籤裡面都不會放任何資料,不過事實上裡面是可以放一些預設的內容的,當內容頁(Content Page)沒有使用到這個 ContentPlaceHolderID 時,就會直接用 MasterPage 中定義的預設內容來輸出。
... 繼續閱讀 ...