sharepoint 2010如何隐藏.添加.禁用.Ribbon菜单中的项,多个方法

1. 一个是比较简单的就是在管理中心设置下,http://管理中心地址/_admin/vsmask.aspx下会显示列表权限、网站权限、个人权限,根据需要显示相应的项。

2. 就是通过操作代码操作xml里面的项,在Ribbon菜单里添加自定义Button。
新建项目》添加空元素》在xml里面写,
<CustomAction   
     Id="CustomRibbonButton"
     RegistrationId="101"
     RegistrationType="List"
     Location="CommandUI.Ribbon"
     Sequence="5"
     Title="Move Documents">
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition Location="Ribbon.Documents.Manage.Controls._children">
          <Button
              Id="Ribbon.Documents.New.TestButton"
              Alt="show Mesage"
              Sequence="5"
              Command="Test_Button"
              Image32by32="/_layouts/images/spInfo/3232.GIF"
              Image16by16="/_layouts/images/spInfo/1616.GIF"
              LabelText="Move Documents"
              TemplateAlias="o1" />
        </CommandUIDefinition>
      </CommandUIDefinitions>
      <CommandUIHandlers>
        <CommandUIHandler
          Command="Test_Button"
          CommandAction="javascript:alert('helloword');" />
      </CommandUIHandlers>
 
    </CommandUIExtension>
  </CustomAction>
效果图:
sharepoint 2010如何隐藏.添加.禁用.Ribbon菜单中的项,多个方法 - vickynuli - vickynuli的博客
 
PS:sharepoint 2010如何隐藏.添加.禁用.Ribbon菜单中的项,多个方法 - vickynuli - vickynuli的博客
CustomAction  部分:
RegistrationType:看完了下面那个链接,觉得RegistrationType和RegistrationId可以只写一个,  
RegistrationId(101所代表的数值为文档库,这个链接里面例举出所有的相对应的数据):http://vickynuli.blog.163.com/blog/static/18043849220127222311233/
Location:该按钮应该放在tab下的哪个组,
Sequence:数字代表把该按钮所存放的位置,
TemplateAlias:定义该图片是32x32还是16x16,o1代表32,o2代表16
 
3. 隐藏Ribbon部分功能
 3.1. 新建用户控件
 3.2. 引用C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.Web.CommandUI.dll
        using System.Microsoft.SharePoint.WebControls;
 3.3 接着在用户控件的load里面写代码,根据需要隐藏相关控件,
    SPRibbon ribbon = SPRibbon.GetCurrent(this.Page);
            if (ribbon != null)
            {
               ribbon.TrimById("Ribbon.Documents.New.NewFolder");
                ribbon.TrimById("Ribbon.Documents.Manage.Delete");
                ribbon.TrimById("Ribbon.Library.Share.EmailLibraryLink");
            }
 3.4. 部署即可,
 3.5. 用sharepoint design打开部署的站点,在模板页页面,引用该用户控件 ,
sharepoint 2010如何隐藏.添加.禁用.Ribbon菜单中的项,多个方法 - vickynuli - vickynuli的博客
接着在body里面引用,
sharepoint 2010如何隐藏.添加.禁用.Ribbon菜单中的项,多个方法 - vickynuli - vickynuli的博客
最后就可以查看结果了(下图知道哪几个隐藏了吗?自己找吧,sharepoint 2010如何隐藏.添加.禁用.Ribbon菜单中的项,多个方法 - vickynuli - vickynuli的博客)。sharepoint 2010如何隐藏.添加.禁用.Ribbon菜单中的项,多个方法 - vickynuli - vickynuli的博客 
sharepoint 2010如何隐藏.添加.禁用.Ribbon菜单中的项,多个方法 - vickynuli - vickynuli的博客
 
sharepoint 2010如何隐藏.添加.禁用.Ribbon菜单中的项,多个方法 - vickynuli - vickynuli的博客
 
PS:
这里需要注意一个问题,在sharepoint里面,有分为列表、文档、网页、库、网站等,所对应的属性也不同,如以下代码的加粗部分,这里仅仅只针对文档库有效,所以如果在其他地方没有效果时,得查看Id是否是正确的,
这里还需要说下,TrimById只是动态隐藏,而不是删除,所以注释再部署之后,该按钮会再次出现
ribbon.TrimById("Ribbon.Documents.New.NewFolder");
                ribbon.TrimById("Ribbon.Documents.Manage.Delete");
                ribbon.TrimById("Ribbon.Library.Share.EmailLibraryLink");
 原文地址:http://sharepointroot.com/2010/06/18/remove-actions-from-the-ribbon-sharepoint-2010/
 
 
4. 这个是msdn上的文章,反正在我的环境试了,没什么效果,就下面这几段代码,我试了反正不行,不知道怎么回事(真的没什么效果,哪位大神救救)。sharepoint 2010如何隐藏.添加.禁用.Ribbon菜单中的项,多个方法 - vickynuli - vickynuli的博客
<?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/">   <CustomAction     Id="RemoveRibbonButton"     Location="CommandUI.Ribbon">       <CommandUIExtension>         <CommandUIDefinitions>           <CommandUIDefinition             Location="Ribbon.Library.Actions.ConnectToClient" />         </CommandUIDefinitions>       </CommandUIExtension>   </CustomAction> </Elements>
posted @ 2012-12-19 10:20  wuli8129  阅读(460)  评论(0编辑  收藏  举报