内容查询 Web 部件在没有 Web 部件区域的情况下不显示

Posted

技术标签:

【中文标题】内容查询 Web 部件在没有 Web 部件区域的情况下不显示【英文标题】:Content Query Web Part not displaying without web part zone 【发布时间】:2010-12-04 20:16:00 【问题描述】:

我正在为客户构建一个 Sharepoint WCM 站点。

作为页面布局的一部分,我直接在页面中插入了一个内容查询 Web 部件,而不是在 Web 部件区域中(因此用户无法对其进行编辑)。在我的开发环境中一切正常,但是当我将其部署到生产环境时,Web 部件会说“没有返回任何项目”。

当我进入功能目录并更改页面布局以包含 webpart 区域包装器时,它解决了问题,但是我真的不希望它有 web 部件区域。我的开发环境是 Windows 2003,但生产站点是 Windows 2008。

谁能解释为什么它可能不起作用?

谢谢

【问题讨论】:

【参考方案1】:

一个快速的想法是,您可以在 SharePoint Designer 中右键单击 WebPart 区域并取消选中允许用户操作它的选项。

您将在页面中拥有一个 web 部件,就像它在 WP 区域之外一样“锁定”。

编辑

WebPartPages:WebPartZone 标签中的参数:


allowlayoutchange="false" 
allowpersonalization="false" 
allowcustomization="false"

【讨论】:

【参考方案2】:

这可能不是您的问题,但请记住,如果您将 CQWP 直接嵌入到 PageLayout 中,则它无权访问 SPContext.Current(即 Web 部件不知道它在哪里站点层次结构),因此它将默认返回站点集中的所有内容。 (在这种情况下,它似乎会返回所有内容,而不是什么都没有。)如果这确实与您的问题有关,这里有一篇解释解决方法的帖子:

http://suguk.org/blogs/sharepointhack/archive/2008/09/17/13785.aspx

【讨论】:

以上是关于内容查询 Web 部件在没有 Web 部件区域的情况下不显示的主要内容,如果未能解决你的问题,请参考以下文章

如果 Kentico 宏不包含 Web 部件,则隐藏小部件区域/Web 部件区域

Web 部件区域标题在 ASP.NET 中显示 Untitled[0]

如何将Web部件区域添加到SharePoint Wiki页面?

Sharepoint 2010 内容按查询 Web 部件(ddwrt:格式日期)

Sharepoint Online 突出显示的内容 Web 部件 - 显示文件子文件夹 CAML 查询

以编程方式枚举发布页面布局的 Web 部件区域