如何在 SharePoint 2010 的 XSLT 列表 Web 部件中隐藏列表功能区?
Posted
技术标签:
【中文标题】如何在 SharePoint 2010 的 XSLT 列表 Web 部件中隐藏列表功能区?【英文标题】:How to hide the list ribbon in XSLT List Web part in SharePoint 2010? 【发布时间】:2011-04-03 10:37:38 【问题描述】:在 SharePoint 2010 中,我在网站上有一个自定义列表“客户”。在该站点的主页上,我添加了一个客户列表 Web 部件。当我在浏览器中访问主页并单击该列表中的任意位置时,它会显示具有“项目”和“列表”功能区的“列表工具”功能区组。单击列表时,我根本不想要这些丝带。我如何实现这一目标?我应该禁用列表上的点击事件,这样这些功能区就不会出现吗?如何禁用列表中的点击事件?或者单击列表时我应该怎么做才能隐藏这些功能区?
基本上我希望它的行为与内容查询 Web 部件相同。在内容查询 Web 部件中,如果单击其中的任意位置,它不会显示任何额外的功能区。我希望列表 Web 部件具有相同的行为。
谢谢 希特什
【问题讨论】:
【参考方案1】:一种方法是遵循这篇博文中概述的教程:Remove actions from the ribbon: SharePoint 2010
最终结果是一个用户控件,您可以将其放置在任何页面上并“修剪”(即隐藏)功能区的某些部分:整个选项卡,或功能区上的单个组或按钮。
如果您遵循博客中规定的解决方案,那么您将在您的 Page_Load
事件中添加以下行:
SPRibbon ribbon = SPRibbon.GetCurrent(this.Page);
if (ribbon != null)
ribbon.TrimById( SPRibbon.ListTabId );
ribbon.TrimById( SPRibbon.ListItemTabId );
可以在以下位置找到其他功能区元素 ID:
As referenced in the CMDUI.xml XML file As defined by public fields onSPRibbon
(在上面的示例中使用)
当然,使用这种方法的缺点是您隐藏的特定功能区元素在 UserControl 中是硬编码的。为了解决这个问题,我使用 UserControl 作为基础来创建一个 Web 部件,它允许您通过属性定义要隐藏的功能区元素。它工作得很好,并且足够通用,可以适用于许多不同的场景。
【讨论】:
以上是关于如何在 SharePoint 2010 的 XSLT 列表 Web 部件中隐藏列表功能区?的主要内容,如果未能解决你的问题,请参考以下文章
Sharepoint 2010 内容按查询 Web 部件(ddwrt:格式日期)