巢狀母版頁中的控制項訪問
左直拳巢狀母版頁中的控制項訪問很彆扭。
如果乙個內容頁對應乙個沒有巢狀的母版頁,訪問這個母版頁上的控制項眾所周知:類似(button)page.master.findcontrol("button1")
可是這個母版頁如果又巢狀在另乙個母版頁裡面,上述語句包你什麼東西都訪問不到。
假設頂層母版頁master0.master有
<
asp:
contentplaceholder
id="submaster"
runat
="server">
asp:
contentplaceholder
>
子母版頁master1.master有
<
asp:
content
id="submasterlist"
contentplaceholderid
="submaster"
runat
="server">
<
asp:
contentplaceholder
id="main"
runat
="server">
asp:
contentplaceholder
>
<
asp:
button
id="button1"
runat
="server"
text
="button"/>
asp:
content
>
現在內容頁content.aspx結合子母版頁master1.master,有
<
asp:
content
id="content1"
contentplaceholderid
="main"
runat
="server">
asp:
content
>
這時不論是
(button)page.master.findcontrol("button1")
還是contentplaceholder
direcmaster = (contentplaceholder)page.master.findcontrol("submaster");
button
b1 = (button)direcmaster.findcontrol("button1");
都無法訪問到這個button。
我折騰來折騰去,最後才知道正確的寫法是:
contentplaceholder
direcmaster = (contentplaceholder)page.
master.master.
findcontrol("submaster");
button
b1 = (button)direcmaster.findcontrol("button1");
就是說,如果母版頁巢狀多少層,master就應該寫多少個。
這樣子的話,我認為如果想訪問母版頁的控制項,還不如通過在母版頁設定屬性來間接訪問該控制項。一方面,訪問方便;另一方面,可遮蔽細節,內容頁根本不用關心所用的母版頁到底巢狀了多少層。
巢狀母版頁中的控制項訪問
巢狀母版頁中的控制項訪問 左直拳巢狀母版頁中的控制項訪問很彆扭。如果乙個內容頁對應乙個沒有巢狀的母版頁,訪問這個母版頁上的控制項眾所周知 類似 button page.master.findcontrol button1 可是這個母版頁如果又巢狀在另乙個母版頁裡面,上述語句包你什麼東西都訪問不到。假...
巢狀母版頁
寫在前面的話 對於乙個專案來說,我們可能會用到許多的母版頁 內容頁的組合.那麼當我們使用到多個母版頁時,我們可能會遇到這樣的問題.在不同的母版頁內載入相同的js和css內容.如果乙個js或css檔案在專案中的位置發生了變化,我們就要修改多個母版頁的js和css的link.對此,我們或許可以使用巢狀母...
訪問母版頁控制項及屬性
1 通過findcontrol找控制項id 需要在此事件中 因為page load中時是先內容頁載入然後才是母版頁載入 protected void page loadcomplete object sender,eventargs e 2 通過強引用 page language c masterp...