2009-06-05 33 views
0

好吧,這可能有點奇怪,所以我會先解釋我正在嘗試做什麼。我有幾個主頁用於我的網站,並且他們彼此繼承。在其中的第二個(總共4個)我有一個背景圖像。這裏有個訣竅,我想從最終的aspx頁面中覆蓋這個圖片。我無法改變這個圖像的位置,它必須在主頁2中,因爲有些頁面使用那個頁面作爲主頁面。有條件地禁用.aspx中的.aspx控件

我想到的一個想法是在圖像旁邊創建一個ContentPlaceHolder,如果有任何圖像(檢入Page_Load),那麼主圖像將被隱藏。我用遞歸函數做了這個,它通過循環遍歷ContentPlaceHolder的控件來查找圖像。當我將可見性屬性設置爲false時,沒有任何反應。

任何其他想法如何做到這一點,或爲什麼上述不起作用?

編輯:這不是改變項目在母版頁,而周圍的其他方式,從Masterpages代碼隱藏挖成當前顯示的頁面,看看它是否有一個特定的ContentPlaceHolder控件。

回答

1

我已經成功地訪問控制母版頁上這樣的:

 Control control = Master.FindControl("ControlID"); 
     if (control is ControlType) 
     { 
      ControlType menu = control as ControlType; 
      menu.Visible = false; 
     } 

不知道這將與您的問題幫助特別。

0

謝謝斯蒂芬,

我喜歡管理樹形禁止在與defaultpage.aspx.I加載母版頁放置在樹狀用的ContentPlaceHolder ID = 「cphtv」 和TreeView ID:爲TreeView1

Control control1 = Master.FindControl("cphtv"); 
if (control1 is ContentPlaceHolder) 
{ 
    Label5.Text = "ContentPlaceHolder found"; 
    Control tc = control1.FindControl("TreeView1"); 
    if (tc is TreeView) 
    { 
     tc.Visible = false; 
     Label6.Text = "tree view false"; 
    } 
    else{ 
     Label6.Text = "tree view control not found"; 

    } 

} 
else 
{ 
    Label6.Text = "not found"; 
}