最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
开启左侧

SharePoint 2013 对象模型操作"网站设置"菜单

[复制链接]
发表于 2015-4-3 13:16:14 | 显示全部楼层 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在SharePoint的开发中,经常会有客户提到网站操作上的栏目过多,其实,我们除了可以通过Feature的方式添加,还可以通过服务器端对象模型的方式添加;下面,让我用简单的例子,给大家介绍一下;  1、操作SiteAction,添加“Add by Linyu”,隐藏“Site Settings”,效果如下图:

  2、我是通过webpart的方式,修改当前页面的菜单,代码截图:
  简单说一下,Visible属性是隐藏属性,我们可以设置菜单是否显示;Sequence是菜单在组中的顺序,如果一个group里有多个菜单,会按照这个排序;MenuGroupId是组的Id,我这里设置成1,所以显示在最上面了;
  除了这些,AddMenuItem方法里面,还可以设置菜单的权限,具体可以自行尝试一下;

  3、完整的代码,方便大家复制粘贴进行试验,如下:

Microsoft.SharePoint.WebControls.SiteActions siteAction =    Microsoft.SharePoint.WebControls.SiteActions.GetCurrent(this.Page);if (siteAction != null && ribbonCollection.Length > 0){    string[] RibbonID = RibbonCollection.Split(';');    for (int i = 0; i < RibbonID.Length; i++)    {        //Hide Site Action        siteAction.GetMenuItem(RibbonID).Visible = false;    }    //Add Site Action    siteAction.AddMenuItem("MenuItem_Custom", "Add by Linyu", "", "A test menu",        "/_layouts/15/settings.aspx", "");    siteAction.GetMenuItem("MenuItem_Custom").Sequence = 1;    siteAction.GetMenuItem("MenuItem_Custom").MenuGroupId = 1;}

  4、查看网站设置菜单Id的小技巧,其实SharePoint很多地方的Id,都是可以这样查找的,我简单的试了一下,发现去掉前缀zz11_即可,Site Settings的Id就是"MenuItem_Settings";

总 结
  SharePoint有很多可以定制的地方,我们要做的就是选择合适的方式,争取实现的更加简单、快捷;这里我们可以封装成一个webpart,用来隐藏Ribbon和SiteAction两个菜单,是非常方便的方法。
参考文档
http://www.cnblogs.com/jianyus/p/3877919.html
http://www.cnblogs.com/jianyus/p/3375613.html


楼主热帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-3-28 21:20

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表