Sharepoint 允许页面布局隐藏母版页上的控件
如果我想将常规母版页用于新的页面布局,除非我不希望主导航菜单控件(第三方控件)可见,否则如何让页面布局隐藏它?在asp.net中,我会在母版页上公开一个公共属性或方法,然后从子页调用它,但不确定在SharePoint中可以做什么,因为没有代码隐藏或可识别的母版页类。我让它这样工作,但我不喜欢它的实现 在母版页上:Sharepoint 允许页面布局隐藏母版页上的控件,sharepoint,sharepoint-2007,Sharepoint,Sharepoint 2007,如果我想将常规母版页用于新的页面布局,除非我不希望主导航菜单控件(第三方控件)可见,否则如何让页面布局隐藏它?在asp.net中,我会在母版页上公开一个公共属性或方法,然后从子页调用它,但不确定在SharePoint中可以做什么,因为没有代码隐藏或可识别的母版页类。我让它这样工作,但我不喜欢它的实现 在母版页上: ... <c:Menu id="myMenu" runat="server" /> ... </for
...
<c:Menu id="myMenu" runat="server" />
...
</form>
</body>
</html>
<script runat="server">
public bool IsConsumerNavVisible
{
set
{
myMenu.Visible = value;
}
}
</script>
。。。
...
公共场所是可以看到的
{
设置
{
myMenu.Visible=值;
}
}
页面布局:
<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>
受保护的无效页面加载(对象发送方、事件参数e)
{
System.Reflection.PropertyInfo pi=Page.Master.GetType().GetProperty(“IsConsumerAvvisible”);
pi.SetValue(Page.Master,false,null);
}
因此,我在母版页上公开了一个公共属性来设置可见性,然后使用PageLayout上的反射来查找和设置该属性。我试着将PageLayout代码放在一个脚本块中并执行了它,但菜单最终还是可见的。将它放在页面加载事件处理程序中修复了这一问题。如果有更好的办法,我洗耳恭听