在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 > )
{
string[] RibbonID = RibbonCollection.Split(';');
for (int i = ; i < RibbonID.Length; i++)
{
//Hide Site Action
siteAction.GetMenuItem(RibbonID[i]).Visible = false;
} //Add Site Action
siteAction.AddMenuItem("MenuItem_Custom", "Add by Linyu", "", "A test menu",
"/_layouts/15/settings.aspx", "");
siteAction.GetMenuItem("MenuItem_Custom").Sequence = ;
siteAction.GetMenuItem("MenuItem_Custom").MenuGroupId = ;
}

  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

SharePoint 2013 对象模型操作"网站设置"菜单的更多相关文章

  1. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 站点设置

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 站点设置         你应该熟悉(假设还咩有)的SharePo ...

  2. SharePoint 2013 报:网站在改进过程中处于只读状态,对此给您带来的不便,我们深表歉意

    SharePoint 2013备份过程意外中断,导致再打开站点报:网站在改进过程中处于只读状态,对此给您带来的不便,我们深表歉意 英文:We apologize for any inconvenien ...

  3. 跟我学SharePoint 2013视频培训课程——网站导航及页面元素(2)

    课程简介 第2天,介绍SharePoint 2013 网站导航及页面元素 视频 SharePoint 2013 交流群 41032413

  4. 如何设置SharePoint 2013 的根网站集下的“更改此术语的目标页面”

    起因: 首先看问题截图Figure 1,在术语驱动的页面中设置更改此术语的目标页面,会被警告“该URL 不指向某个页面”,原因是我所找到的这个目标页面是一个非aspx结尾的URL链接. Figure ...

  5. SharePoint 2013 重命名网站集名称(SharePoint 2013 rename site collection)

    最近使用SharePoint中,遇到一个需要重命名网站集的需求,主要是网站用数据库备份/还原的方式,想要改网站集的地址,然后搜了一下PowerShell: $site = Get-SPSite -Id ...

  6. SharePoint 服务器端对象模型操作用户组(创建/添加/删除)

    摘要:几个操作SharePoint用户组的方法,已经测试通过,但是没有提升权限,如果没有权限的人操作,需要提升权限(提权代码附后).大家需要的话,可以参考下,写在这里也给自己留个备份~~ //创建用户 ...

  7. SharePoint 服务器端对象模型操作文档库(上传/授权/查看权限)

    简介:上传文档到文档库,并对项目级授权,查看项目级权限方法         //在列表根目录下创建文件夹 public static string CreatFolderToSPDocLib(stri ...

  8. 批量修改sharepoint 2013站点里区域设置

    cls [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") foreach ($we ...

  9. SharePoint 2013 自定义扩展菜单

    在对SharePoint进行开发或者功能扩展的时候,经常需要对一些默认的菜单进行扩展,以使我们开发的东西更适合SharePoint本身的样式.SharePoint的各种功能菜单,像网站设置.Ribbo ...

随机推荐

  1. Offer_answer_with_SDP_rfc3264

    Network Working Group J. RosenbergRequest for Comments: 3264 dynamicsoftObsoletes: 2543 H. Schulzrin ...

  2. cron语法

    最近在搞whenever时看到可以用cron语法设置定时任务.所以研究了下cron 语法. every '0 0 27-31 * *' do command "echo 'you can u ...

  3. VS2008简体中文正式版序列号-试用到期解决

    VS2008简体中文正式版序列号 VS2008简体中文正式版序列号 1.Visual Studio 2008 Professional Edition:XMQ2Y-4T3V6-XJ48Y-D3K2V- ...

  4. Zookeeper集群部署

    一. 部署前的准备工作 保证各个主机之间能够正常通信,最好是在同一网段. 修改host文件,加入IP和主机名的映射.方法为修改/etc/hosts和etc/hostname文件,不同的Linux发行版 ...

  5. Android 学习笔记 Service

    PS:前几篇的内容光是上代码了,也没有细细的讲解..感觉这样写很不好..因此还是多一些讲解吧... 学习内容: 1.了解Service... 2.Service的启动与停止.. 3.绑定与取消绑定Se ...

  6. [Logstash]使用详解

    Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的.多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件. 本文针对官方文档进行翻译以及实践,希望有更 ...

  7. 【推荐】iOS汉字转拼音第三方库

    PinYin4Objc是一个在git汉字转拼音的开源库,支持简体和繁体中文.效率POAPinyin等其他库要高,转换库也完整下面简单介绍 实现原理 使用unicode_to_hanyu_pinyin. ...

  8. Spring总结—— IOC 和 Bean 的总结

    一.Spring 官方文档中给出的 Spring 的整体结构. 二.我自己所理解的 Spring 整体结构图. 三.本次总结 Spring 核心部分 1.从上面图中可以看出,Beans 和 Conte ...

  9. 2015年百度之星初赛(1) --- C 序列变换

    序列变换 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  10. 你得知道这3个最基础的APP技术框架

    出处:优设网作者:信籽链接:http://www.uisdc.com/3-basic-app-technical-framework 信籽(手淘设计师):不知道大家有没有遇到过这种情景,当你做好一个设 ...