天天看點

SharePoint 2013 為使用者組自定義EventReceiver

  前 言

  在SharePoint的開發中,EventReceiver是很重要的一個部分,但是,常常遇到有些需要事件的時候,卻沒有相應的模闆,因為EventReceiver建立時的模闆隻有那幾個,除此之外我們就無法使用EventReceiver了麼?其實不然,下面讓我們以使用者組為例,介紹下其他類型EventReceiver的建立方式。

  1、建立一個Project,選擇SharePoint 2013 – Empty Project,如下圖:

SharePoint 2013 為使用者組自定義EventReceiver

  2、選擇Debug的站點,解決方案類型為Farm Solution,如下圖:

SharePoint 2013 為使用者組自定義EventReceiver

  3、添加一個Feature,我們通過Feature來注冊EventReceiver,下面會詳細介紹,如下圖:

SharePoint 2013 為使用者組自定義EventReceiver

  4、修改Feature的名字,友善我們知道是做什麼用的,如下圖:

SharePoint 2013 為使用者組自定義EventReceiver

  5.修改Feature的基本資訊和Scope,如下圖:

SharePoint 2013 為使用者組自定義EventReceiver

  6、為Feature添加Event Receiver,如下圖:

SharePoint 2013 為使用者組自定義EventReceiver

  7、添加一個新項目,項目會是類檔案,如下圖:

SharePoint 2013 為使用者組自定義EventReceiver

  8、選擇Class類檔案,用來添加我們事件接收器的方法,如下圖:

SharePoint 2013 為使用者組自定義EventReceiver

  9、這是Feature的激活事件,用來将我們自定義的EventReceiver注冊到Web裡面,如下圖:

SharePoint 2013 為使用者組自定義EventReceiver

  10、這是個事件接收器的方法了,具體就是加入一個人,往清單裡寫一條資訊:加了那個人、加到哪個組裡面、建立時間和建立者;

SharePoint 2013 為使用者組自定義EventReceiver

  11、我們在UI裡面測試一下,我在網站的組裡加上我自己,如下圖:

SharePoint 2013 為使用者組自定義EventReceiver

  12、然後打開清單,發現已經寫入了我需要的資訊,如下圖:

SharePoint 2013 為使用者組自定義EventReceiver

總 結

  以上隻是舉一個簡單的例子,因為預設的EventReceiver模闆裡,沒有對于SPGroup的EventReceiver,是以我們需要通過這樣的方式進行添加;其實,這也是傳統EventReceiver(也就是07以及之前沒有模闆時的寫法)的寫法。

  至于,到底都有什麼EventReceiver能這樣添加,用的時候看SPEventReceiverType的類型都有哪些種即可(詳細見參考文檔的連結)。

參考文檔

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