0
如果我想將常規母版頁用於新的頁面佈局,但我不想讓主導航菜單控件(第三方控件)可見,那麼如何才能我讓頁面佈局隱藏它?在asp.net中,我會在母版頁上公開屬性或方法,然後從子頁面調用它,但不知道在SharePoint中可以做什麼,因爲沒有代碼背後或可辨別的母版頁類。允許頁面佈局在主頁面上隱藏控件
如果我想將常規母版頁用於新的頁面佈局,但我不想讓主導航菜單控件(第三方控件)可見,那麼如何才能我讓頁面佈局隱藏它?在asp.net中,我會在母版頁上公開屬性或方法,然後從子頁面調用它,但不知道在SharePoint中可以做什麼,因爲沒有代碼背後或可辨別的母版頁類。允許頁面佈局在主頁面上隱藏控件
我知道它是這樣工作的,但我並不喜歡這個實現。
在母版頁:
...
<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事件處理程序中修復了這個問題。如果有更好的方式,我全部耳朵。