【问题标题】:Why can't I override the default master page content in a SharePoint publishing page?为什么我不能覆盖 SharePoint 发布页面中的默认母版页内容?
【发布时间】:2010-12-05 08:22:45
【问题描述】:

因此,我使用发布门户模板设置了一个网站集,并建立了一个包含三层的原型网站结构。在第二层,我创建了一个发布站点,并为该站点及其第三层子级开发了一个自定义母版页。问题是应该修改几页的banner图形不一致。然后,我将两个新的 ContentPlaceHolder 控件添加到 SharePoint Designer 中的母版页,并使用 SharePoint 界面创建新的发布页面。最后,我在 SharePoint Developer 中验证它们是否具有正确的母版页,将我的 asp:content 控件添加到页面并插入特定于页面的横幅图形。唯一的问题是母版页默认内容继续在所有页面实例中呈现。如果我从 SharePoint 设计器中的母版页创建一个新页面,我在页面声明中获得的基类与在发布网站中创建的基类不同。发布站点是否忽略任何非 SharePoint contentPlaceHolders?

【问题讨论】:

    标签: sharepoint master-pages contentplaceholder


    【解决方案1】:

    没有什么能比得上 SharePoint ContentPlaceHolders 和非 SharePoint ContentPlaceHolders。当您将默认内容添加到母版页 ContentPlaceholder 时,如果您不在内容页中覆盖它,那么它将在使用该母版页的所有页面中可见。摆脱它的唯一方法是在内容页面中用空内容覆盖那些内容占位符。由于在所有页面中覆盖 contentPlaceHolder 并不是一个好的方法。我建议不要将内容放在母版页的 ContentPlaceHolder 中,而是将内容放在页面的内容控制页面中,这样内容就不会出现在所有页面中,而只会出现在需要它的页面中。是的,将完全相同的内容放在多个页面中并不是一件好事。但在您的情况下,这只是选项。可能是您尝试将内容包装到用户控件中,以便代码只能在一个地方更新

    【讨论】:

    • 我在进一步研究这个问题时发现我缺乏对发布站点依赖链的理解。显然,发布站点要求您使用从母版页继承的布局页面(.aspx 文件)。我的问题源于我试图修改具有本地母版页的子站点中的母版页。由于我的发布页面是在根站点布局页面上配置的,因此对本地母版页的更改没有效果。现在我需要知道我是否可以拥有多个根母版页或从本地母版创建本地布局页面。
    猜你喜欢
    • 1970-01-01
    • 2011-02-21
    • 2011-08-20
    • 2014-08-16
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    相关资源
    最近更新 更多