2009-06-04 38 views
1

昨天我問了一個相關問題,並被告知不該做什麼,但不知道該怎麼做。Masterpage - > SubMasterPage - > Web Form ...在子頁面中獲取Masterpage的屬性

我有一個母版頁,我會打電話給「TheMaster」。我有2個子主頁「Sub1」和「Sub2」。他們都有一個「TheMaster」的母版頁指令。 Web窗體具有「Sub1」或「Sub2」的母版頁指令。這些不是真名。

在「TheMaster」中,我找出用戶在哪個頁面上,找出它們在Web.sitemap中的位置,並使用它,我有Web.sitemap節點以及父代和父代的父項,if他們都存在。我使用它來動態構建導航並突出顯示當前頁面。

現在,我們的設計師有幾個地方出現這個導航。頂部的導航,輔助導航,左側的teritiary導航和「麪包屑」風格顯示首頁 - > parentparentnode - > parentnode - >當前頁

由於佈局限制,我無法在「TheMaster」中定義所有這些。

因此,在「大師」,我覺得他們的當前節點,並保存爲「大師」的公共屬性(連同信息的其他幾件。

在Sub1的,即使它使用「大師」,因爲它的母版,它似乎並不能夠從找到我的公共屬性‘大師’。

我如何能得到這個信息是可通過這所房子的卡一路任何想法?

我試過

Page.Master.myProp (nope) 
Parent.myProp (nope) 

我想不出還有什麼可以讓這個工作。 「TheMaster」基本上沒有「Sub1」的知識,所以我不能在Sub1上設置屬性並將它放在樹上,樹下的節點顯然沒有注意到他們的父母......

回答

3

將Parent或Page.Master轉換爲您的實際MasterPage類。

((MyMaster)Page.Master).myProp // found! 
+0

鑄造是可以的,但是副主管確實應該表達任何想要作爲副主人屬性公開的主人屬性。 – 2009-06-04 20:13:47

0

鑄造讓你在那裏,但從長遠來看,它不是那麼幹淨,也不能維護。我使用一系列的接口來抽象事物,做了非常非常複雜的版本。請參閱this blog post以獲得帶有一層的簡化版本。添加更多圖層的技巧只是根據需要添加更多接口和抽象類。

相關問題