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


      在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[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 = 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

  • 相关阅读:
    abstract,virtual,override个人
    abstract,virtual,override
    C#,File.AppendAllLines(),换行" "
    WPF,ComboBox,取汉字首字母,extBoxBase.TextChanged
    Task
    C# Task,new Task().Start(),Task.Run();TTask.Factory.StartNew
    C# async,await
    C#,二分法,BinarySearch()
    C#,Task
    css权重
  • 原文地址:https://www.cnblogs.com/jianyus/p/3880965.html
Copyright © 2020-2023  润新知