代码改变世界

SharePoint 2010 移除Ribbon菜单中的命令项

  四毛的家  阅读(445)  评论(0编辑  收藏  举报

 提起Ribbon菜单,自认为是一项伟大的功能。Sharepoint 2010 的菜单也采用了这样的形式,如下图:

你可以在里面添加自己的命令项,也可以删除已有的命令项。关于添加Ribbon命令项请参考:http://www.cnblogs.com/chendianhong/archive/2010/07/26/1785209.html

本文介绍如果移除Sharepoint 2010 Ribbon菜单中的命令项,如上图中的加粗,倾斜,下划线

操作环境:Windows Server 2008 R2 + SharePoint 2010

1.以管理员身份打开vs2010,创建一个空的SharePoint 项目,名字命名为:SPR.Utilities

其他省略

2.在解决方案资源管理器中,右击项目,选择添加SharePoint 映射文件夹

展开TEMPLATE节点,选择CONTROLTEMPLATES 然后单击确定按钮。为了便于管理,我们右击CONTROLTEMPLATES  选择添加--->新建文件夹,名字叫SPR.Utilities 。

3.我们在新建的文件中添加一个ascx文件

右击新建的SPR.Utilities 文件,选择添加---新建项,然后选择用户控件,将其命名为:RibbonItemHider.ascx。打开上面创建好的ascx文件,在Page_Load里写如下代码:

SPRibbon ribbon = SPRibbon.GetCurrent(this.Page);
if (ribbon != null)
{
   ribbon.TrimById("Ribbon.EditingTools.CPEditTab.Font.Bold");//加粗
   ribbon.TrimById("Ribbon.EditingTools.CPEditTab.Font.Italics");//倾斜
   ribbon.TrimById("Ribbon.EditingTools.CPEditTab.Font.Underline");//下划线
}

注意:

添加下面dll引用:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.Web.CommandUI.dll

然后引入命名空间:using Microsoft.SharePoint.WebControls;

4.右击项目名,选择部署

5.添加到母版页中

5.1 用SharePoint Designer 2010 打开上面部署ascx的站点,找到母版页,默认应该是v4.master。右击它,选择在高级模式下编辑文件,在页面顶部添加如下代码:

<%@ Register TagPrefix="SPR" TagName="RibbonItemHider" src="~/_controltemplates/SPR.Utilities/RibbonItemHider.ascx" %>

5.2 在<body>标签下面写如下代码:

<SPR:RibbonItemHider id="RibbonItemHider" runat="server" />

6.保存母版页,打开站点,添加一个内容编辑web部件,这样加粗,倾斜,下划线命令就不见了。本文第一张图

说明:1.注意SPRibbon类及其TrimById方法的使用。

原文地址:http://sharepointroot.com/2010/06/18/remove-actions-from-the-ribbon-sharepoint-2010/

2.原作者在一篇中介绍的内容,因篇幅太长,我会分作两篇。本文主要介绍如果隐藏命令项,下一篇将会介绍如何找到命令项对应的ID。

链接:http://blog.csdn.net/sygwin_net/article/details/6790139

3.注意TrimById只是动态隐藏,不会删除,当你将其注释后,重新部署,那么想过命令项会再显示。

4.如果你传入的是命令项ID,那么TrimById会隐藏该命令项。但是如果你要传入的是命令项所在的组,比如Ribbon.EditingTools.CPEditTab.Font,结果会怎么样呢?没错,会把整个组都隐藏掉的。

编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示