Sharepoint中为列表添加自定义的菜单项

本文介绍如何在SharePoint列表中添加自定义菜单项。主要包括创建内容类型、定义CustomAction及实现在模态对话框中获取列表项信息的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sharepoint中为列表添加自定义的菜单项

项目需求需要在列表中添加自定义的菜单项以实现某些特定的功能,这里就把实现的过程和大家分享一下。主要有一下几个步骤:

1) 创建内容类型ContentType

Element.xml文件的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <!-- 父内容类型: 项目 (0x01) -->
  <ContentType ID="0x0100b06c65fb90e74832b61609d1a82cafe7"
               Name="CT-Information"
               Group="研究院"
               Description="信息"
               Inherits="FALSE"
               Version="0">
    <FieldRefs>
      <FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" DisplayName="标题"/>
      <FieldRef ID="{9EBAD2D9-1346-489D-AEAF-67F21186845C}" Name="Information_Content" DisplayName="信息内容"/>
          </FieldRefs>

    <XmlDocuments>
      <XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
        <FormTemplates  xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
          <Display>DIS_CatrShowForm</Display>
          <Edit>DIS_CatrAddForm</Edit>
          <New>DIS_CatrAddForm</New>
        </FormTemplates>
      </XmlDocument>
    </XmlDocuments>
  </ContentType>
</Elements>

  

2) 接下来创建一个CustomAction文件

Element.xml的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction Id="e157dacd-cd1a-42ba-b0ef-45296243b2aa" Title="推荐" 
    RegistrationType="List"
    RegistrationId="10090"
    Location="EditControlBlock"
    Sequence="1000">
    <UrlAction Url="javascript:var options={url:'/_layouts/Bingosoft.DIS/Recommend/Recommend.aspx?ID={ItemId}&List={ListId}',title:'推荐信息',width:700,height:600};SP.UI.ModalDialog.showModalDialog(options);"/>
  </CustomAction>
</Elements>

  

需要着解释的即文中红色标注的节点的内容。

由节点的名称CustomAction可以看出该节点主要用来创建自定义的菜单项,一下就是其各个属性对应的含义:

Title:菜单项的名称,本例为:“推荐“

RegistrationType:要注册的类型,本例为列表

RegistrationId:要注册绑定的定义好的列表模板的类型

节点边的子节点:UrlAction:该节点的作用主要是给自定义的action添加一个url,就如同我们点击列表项右键的编辑菜单项,然后就会弹出一个编辑页一样的效果。

本例中主要是实现一个推荐的菜单项,UrlAction中Url属性的值为一段js代码,主要实现的作用为:打开一个SP.UI.ModelDialog对话框显示出一个模态页面。

这段代码的意思为:

首先定义一个参数项options

url:为要展示的页的Url,这里有两个参数分别为当前选择的项的id即ItemID和当前的List列表的ID即ListId,这样我们在弹出的页面的Page_Load函数里,通过这两项即可获得所需的列表项的所有信息。

Withd,height,设置弹出的模态页的宽高

然后调用SP.UI.ModelDialog.showModelDialog(options),并将之前定义好的参数集合项传递作为参数传递给弹出的模态页。

3) 在弹出的模态对话框的中的Page_Load函数里做以下处理

 if (Request["ID"] != null && Request["List"] != null)
                {
                    SPList spList = SPContext.Current.Web.Lists[new Guid(Request["List"].ToString())];
                    SPListItem spItem = spList.GetItemById(Convert.ToInt32(Request["ID"].ToString()));
                }

红色标记的那两行代码即获取用户操作的List列表,获取列表中的用户操作的那一项,然后就根据各自的需要通过spItem[“索引”]的形式获取你所需要的值吧。

  

好了到这里就完成了List自定义的菜单项的创建。

显示一下效果:

图3-1 列表自定义菜单项示意图

到这里已经完成了为sharepoint创建自定义的菜单项,快来试试吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值