3-3 SharePoint 开发特殊类型事件接收器
添加功能,用于承载激活,组添加人员事件接收器

添加类ERForGroup类,处理组人员添加事件

添加列表,用于自动添加数据 GroupUserAddedList

添加功能的事件接收器

测试,添加人员给组

查询显示


using Microsoft.SharePoint; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ljzCustomEventReceiver { class ERForGrop : SPSecurityEventReceiver { public override void GroupUserAdded(SPSecurityEventProperties properties) { SPList list = properties.Web.Lists.TryGetList("GroupUserAddedList"); SPListItem item = list.Items.Add(); item["UserName"] = properties.Web.AllUsers.GetByID(properties.GroupUserId); item["GroupName"] = properties.Web.Groups.GetByID(properties.GroupId); item["Operation"] = "Add"; item.Update(); //base.GroupUserAdded(properties); } } }
using System; using System.Runtime.InteropServices; using System.Security.Permissions; using Microsoft.SharePoint; namespace ljzCustomEventReceiver.Features.ERForGrop { /// <summary> /// 此类用于处理在激活、停用、安装、卸载和升级功能的过程中引发的事件。 /// </summary> /// <remarks> /// 附加到此类的 GUID 可能会在打包期间使用,不应进行修改。 /// </remarks> [Guid("90b6963f-1a19-4095-b47a-4f2ddbddad5d")] public class ERForGropEventReceiver : SPFeatureReceiver { // 取消对以下方法的注释,以便处理激活某个功能后引发的事件。 public override void FeatureActivated(SPFeatureReceiverProperties properties) { SPWeb web = properties.Feature.Parent as SPWeb; SPEventReceiverDefinition ERForSPGroupDemo = web.EventReceivers.Add(); ERForSPGroupDemo.Name = "ERForSPGroupDemo"; ERForSPGroupDemo.Type = SPEventReceiverType.GroupUserAdded; ERForSPGroupDemo.Assembly = "ljzCustomEventReceiver, Version=1.0.0.0, Culture=neutral, PublicKeyToken=aaa14757f555b8b0"; ERForSPGroupDemo.Class = "ljzCustomEventReceiver.ERForGrop"; ERForSPGroupDemo.Update(); } // 取消对以下方法的注释,以便处理在停用某个功能前引发的事件。 public override void FeatureDeactivating(SPFeatureReceiverProperties properties) { SPWeb web = properties.Feature.Parent as SPWeb; SPEventReceiverDefinitionCollection ERs = web.EventReceivers; for (int i = 0; i < ERs.Count; i++) { if (ERs[i].Name == "ERForSPGroupDemo") ERs[i].Delete(); } web.Update(); } // 取消对以下方法的注释,以便处理在安装某个功能后引发的事件。 //public override void FeatureInstalled(SPFeatureReceiverProperties properties) //{ //} // 取消对以下方法的注释,以便处理在卸载某个功能前引发的事件。 //public override void FeatureUninstalling(SPFeatureReceiverProperties properties) //{ //} // 取消对以下方法的注释,以便处理在升级某个功能时引发的事件。 //public override void FeatureUpgrading(SPFeatureReceiverProperties properties, string upgradeActionName, System.Collections.Generic.IDictionary<string, string> parameters) //{ //} } }


浙公网安备 33010602011771号