前 言
在SharePoint的開發中,EventReceiver是很重要的一個部分,但是,常常遇到有些需要事件的時候,卻沒有相應的模闆,因為EventReceiver建立時的模闆隻有那幾個,除此之外我們就無法使用EventReceiver了麼?其實不然,下面讓我們以使用者組為例,介紹下其他類型EventReceiver的建立方式。
1、建立一個Project,選擇SharePoint 2013 – Empty Project,如下圖:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnauUzMlRWN1kjYkJjZiZDNxIGMjFmM4MTOzEjY3UGZ3ATYfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.jpg)
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