2013-03-06 116 views
0

如果我想將常規母版頁用於新的頁面佈局,但我不想讓主導航菜單控件(第三方控件)可見,那麼如何才能我讓頁面佈局隱藏它?在asp.net中,我會在母版頁上公開屬性或方法,然後從子頁面調用它,但不知道在SharePoint中可以做什麼,因爲沒有代碼背後或可辨別的母版頁類。允許頁面佈局在主頁面上隱藏控件

回答

0

我知道它是這樣工作的,但我並不喜歡這個實現。

在母版頁:

... 
      <c:Menu id="myMenu" runat="server" /> 
      ... 
     </form> 
    </body> 
</html> 

<script runat="server"> 
    public bool IsConsumerNavVisible 
    { 
     set 
     { 
      myMenu.Visible = value; 
     } 
    } 
</script> 

在頁面佈局:

<script runat="server"> 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     System.Reflection.PropertyInfo pi = Page.Master.GetType().GetProperty("IsConsumerNavVisible"); 
     pi.SetValue(Page.Master, false, null); 
    } 
</script> 

所以我暴露的公共屬性母版頁上設置的知名度,然後用在頁面佈局反射找到&集該財產。我試着將PageLayout代碼放在一個<%>腳本塊中,然後執行,但菜單最終仍然可見。把它放在一個Page_Load事件處理程序中修復了這個問題。如果有更好的方式,我全部耳朵。