前 言
在SharePoint的开发中,EventReceiver是很重要的一个部分,但是,常常遇到有些需要事件的时候,却没有相应的模板,因为EventReceiver创建时的模板只有那几个,除此之外我们就无法使用EventReceiver了么?其实不然,下面让我们以用户组为例,介绍下其他类型EventReceiver的创建方式。
1、新建一个Project,选择SharePoint 2013 – Empty Project,如下图:
2、选择Debug的站点,解决方案类型为Farm Solution,如下图:
3、添加一个Feature,我们通过Feature来注册EventReceiver,下面会详细介绍,如下图:
4、修改Feature的名字,方便我们知道是做什么用的,如下图:
5.修改Feature的基本信息和Scope,如下图:
6、为Feature添加Event Receiver,如下图:
7、添加一个新项目,项目会是类文件,如下图:
8、选择Class类文件,用来添加我们事件接收器的方法,如下图:
9、这是Feature的激活事件,用来将我们自定义的EventReceiver注册到Web里面,如下图:
10、这是个事件接收器的方法了,具体就是加入一个人,往列表里写一条信息:加了那个人、加到哪个组里面、创建时间和创建者;
11、我们在UI里面测试一下,我在网站的组里加上我自己,如下图:
12、然后打开列表,发现已经写入了我需要的信息,如下图:
总 结
以上只是举一个简单的例子,因为默认的EventReceiver模板里,没有对于SPGroup的EventReceiver,所以我们需要通过这样的方式进行添加;其实,这也是传统EventReceiver(也就是07以及之前没有模板时的写法)的写法。
至于,到底都有什么EventReceiver能这样添加,用的时候看SPEventReceiverType的类型都有哪些种即可(详细见参考文档的链接)。
参考文档
https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.speventreceivertype.aspx