设为首页 收藏本站
查看: 933|回复: 0

[经验分享] Sharepoint中为列表添加自定义的菜单项

[复制链接]

尚未签到

发表于 2015-9-27 11:11:23 | 显示全部楼层 |阅读模式
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自定义的菜单项的创建。
  显示一下效果:
DSC0000.jpg                        

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

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-119415-1-1.html 上篇帖子: Sharepoint开发从零开始 下篇帖子: 从备份中恢复被用户误删的sharepoint 2003的Doc Library。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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