欧非资源网:安全、免费、专业放心的资源下载站! 最新软件|软件分类

您的位置:欧非资源网 > 其他专区 > SharePoint > sharepoint 如何根据权限控制Ribbon区域功能按钮的显示

sharepoint 如何根据权限控制Ribbon区域功能按钮的显示

时间:2020-09-04 11:09作者:admin来源:未知人气:286我要评论(0)

在前面提到关于sharepoint 如何在Ribbon区添加功能按钮,还有一个问题,就是如何根据权限来控制它的显示和隐藏,也就是说,我们需要动态去控制这些自定义的Ribbon功能按钮,这里主要是记录下如何来设计这样的一个功能。

最近在做知识库文档管理过程中,有一个需求,用户看到某个很好的文档,想要做推荐,我们发现,在sharepoint 2010 的文档库中,没有这样的功能,所以我们需要做这么一个扩展。

1。创建一个自定义列表,人员推荐表,在这个自定义列表中,创建一个类型为用户或组类型的字段,“推荐人”,这个表是用来配置有权限显示推荐按钮的用户,只要把用户添加到这个表,也说明,需要显示出推荐这个按钮。

表结构如下图:

sharepoint 如何根据权限控制Ribbon区域功能按钮的显示
 

2。继续沿用前面博客用到的sharepoint 项目,sharepoint 如何在列表中添加功能菜单操作项

添加一个空元素,RecommandRibbonItem

<?xmlversion="1.0"encoding="utf-8"?>

<Elementsxmlns="http://schemas.microsoft.com/sharepoint/">

  <CustomActionId="LibraryRibbonButton"Location="CommandUI.Ribbon"Sequence="5"RegistrationId="101"

                RegistrationType="List"Title="推荐">

    <CommandUIExtension>

      <CommandUIDefinitions>

        <CommandUIDefinitionLocation="Ribbon.Documents.Share.Controls._children">

          <ButtonId="RecommendRibbonItem"Image32by32="/_layouts/images/WebpartBarTest/recommend.png"

                  Image16by16="/_layouts/images/WebpartBarTest/recommend.png"

                   Command="RecommendRibbonItem"

                  Description="推荐喜欢的文档"LabelText="推荐"TemplateAlias="o1"

                  />

        </CommandUIDefinition>

      </CommandUIDefinitions>

      <CommandUIHandlers>

        <CommandUIHandlerCommand="RecommendRibbonItem"

                          CommandAction="/_layouts/WebpartBarTest/RecommendEdit.aspx?scope=library&amp;ListId={ListId}&amp;Itemid={ItemId}" />

      </CommandUIHandlers>

    </CommandUIExtension>

  </CustomAction>

</Elements>

3。部署到网站上。随便打开一个文档库,选中其中一个文档,我们就能看到在Ribbon区上面的推荐按钮。如下图:

sharepoint 如何根据权限控制Ribbon区域功能按钮的显示
 

但是,有一个问题,并不是所有的人都有权限看到这个推荐按钮,我们需要根据前面的人员推荐表,当中的用户来控制它的显示和隐藏。

具体思路:

1。创建一个webpart,将这个webpart添加到v4.master,让它每次打开页面都要执行这个webpart.

其中的代码如下 :

using System;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.ComponentModel;

using Microsoft.SharePoint;

using Microsoft.Web.CommandUI;

using Microsoft.SharePoint.WebControls;

namespace WebpartBarTest.WebpartBarProperties

{

    public partial class WebpartBarPropertiesUserControl : UserControl

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            SPRibbon rb = SPRibbon.GetCurrent(this.Page);

            if (rb != null && !IsHavePermission())

            {

                rb.TrimById("RecommendRibbonItem");

            }

        }

        private bool IsHavePermission()

        {

            //这里是匹配人员推荐表里面和用户和当前用户是否存在,如果存在,就return true;

            return true;

        }

    }

}

其中最主要的一点是,控制显示和隐藏的方法,就是用rb.TrimById("RecommendRibbonItem");

相关阅读 SharePoint中Office文件无法打开的解决方案如何快速生成SharePoint测试大文件如何查询SharePoint Library中空文件夹?如何快速备份SharePoint Farm Solution如何解决Event Viewer中SharePoint Error - Event ID 8321SharePoint 2016 CU安装失败,"Exception: The upgraded database schema doesn't match the TargetSchema"的解决方案InfoPath Error “此文档库已经被重命名或删除,或者网络问题导致文件无法保存…” 的解决方案SharePoint 2013 App概述How to Shrink SharePoint Content Database Log File?Project Web App Feature无法开启的解决方案

文章评论
发表评论

热门文章 SharePoint 2016 图文安装教程 后面有激活序列号、密钥分享[SharePoint入门教程]一SharePoint发展、工具及术语如何用 SharePoint Online创建团队网站?SharePoint Iframe 报错“此内容不能显示在一个框架中”

最新文章 SharePoint中Office文件无法打开的解决方案如何快速生成SharePoint测试大文件 如何查询SharePoint Library中空文件夹?如何快速备份SharePoint Farm Solution如何解决Event Viewer中SharePoint Error - Event ID 8321SharePoint 2016 CU安装失败,"Exception: The upgraded database s

人气排行 SharePoint 2016 图文安装教程 后面有激活序列号、密钥分享[SharePoint入门教程]一SharePoint发展、工具及术语如何用 SharePoint Online创建团队网站?SharePoint Iframe 报错“此内容不能显示在一个框架中”SharePoint 2013 安装图解 SharePoint安装步骤图解教程SharePoint 如何开启访问请求[SharePoint入门教程]一SharePoint概述[SharePoint入门教程]一创建SharePoint母版页

盖楼回复X

(您的评论需要经过审核才能显示)