MOSS站点附加编写的Event Handler事件
1、先在SharePoint 3.0的应用程序管理里启动Event Handler事件的支持。
2、编写要处理的Event Handler事件类库。
1)用VS2005新建一个类库。
2)添加引用Microsoft.SharePoint.dll动态链接库的引用。
3)编写自定义的代码程序。
a. 编写的自定义代码是继承于SPItemEventReceiver类
b.并重载了ItemAdded(SPItemEventProperties listEvent)方法(即在添加一个新的项后触发)
c.为自定义的处理EventHandler事件创建强名称,并在GAC中注册以获得其的Assembly信息.
d.编译所写的EventHandler事件处理程序.
3、编写用于注册(附加)已写好的EventHandler到指定的站点的列表中(如列表中添加一个项时则向数据库中添加一条记录)
1)新建一个控制台应用程序.
2)引用Microsoft.SharePoint.dll类库的引用.
3)利用SPSite对象指定到某个具体的站点中,用SPWeb对象指定到站点的页面,用SPList对象指定到当前页面上指定的列表,如对象变量是listItem.
4)之后应用listItem.EventReceivers.Add(SPEventReceiverType.ItemAdded,Assembly,ClassName)方法来把上面所编写的EventHandler处理事件程序附加指定的列表中.
5)运行注册EventHandler事件的控制台应用程序.
4、若要在一列表中更新某项后执行某些特定操作注册SPEventReceiverType.ItemUpdated来进行注册,
若要删除某些列表时就执行相应的特定的操作,则用SPEventReceiverType.ItemDeleting类型来注册(删除某些列表而执行的操作不能用SPEventReceiverType.ItemDeleted这样删除某些后自定义的操作无效)。
若是文档库则继承于IListEventSink类并重载OnEvent(SPListEvent list)方法,之后附加此EventHandler到指定的文档库中(打开文档库--->设置--->文档库设置--->高级设置--->找到有填写Assembly Info信息的栏把编写的类注册后的Assembly信息填写进去后即可.