SharePoint 2013 为用户组自定义EventReceiver

  前 言

  在SharePoint的开发中,EventReceiver是很重要的一个部分,但是,常常遇到有些需要事件的时候,却没有相应的模板,因为EventReceiver创建时的模板只有那几个,除此之外我们就无法使用EventReceiver了么?其实不然,下面让我们以用户组为例,介绍下其他类型EventReceiver的创建方式。

  1、新建一个Project,选择SharePoint 2013 – Empty Project,如下图:

clip_image002

  2、选择Debug的站点,解决方案类型为Farm Solution,如下图:

clip_image004

  3、添加一个Feature,我们通过Feature来注册EventReceiver,下面会详细介绍,如下图:

clip_image006

  4、修改Feature的名字,方便我们知道是做什么用的,如下图:

clip_image008

  5.修改Feature的基本信息和Scope,如下图:

clip_image010

  6、为Feature添加Event Receiver,如下图:

clip_image012

  7、添加一个新项目,项目会是类文件,如下图:

clip_image014

  8、选择Class类文件,用来添加我们事件接收器的方法,如下图:

clip_image016

  9、这是Feature的激活事件,用来将我们自定义的EventReceiver注册到Web里面,如下图:

clip_image018

  10、这是个事件接收器的方法了,具体就是加入一个人,往列表里写一条信息:加了那个人、加到哪个组里面、创建时间和创建者;

clip_image020

  11、我们在UI里面测试一下,我在网站的组里加上我自己,如下图:

clip_image022

  12、然后打开列表,发现已经写入了我需要的信息,如下图:

clip_image024

总 结

  以上只是举一个简单的例子,因为默认的EventReceiver模板里,没有对于SPGroup的EventReceiver,所以我们需要通过这样的方式进行添加;其实,这也是传统EventReceiver(也就是07以及之前没有模板时的写法)的写法。

  至于,到底都有什么EventReceiver能这样添加,用的时候看SPEventReceiverType的类型都有哪些种即可(详细见参考文档的链接)。

参考文档

https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.speventreceivertype.aspx

原文地址:https://www.cnblogs.com/jianyus/p/4442760.html