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信息填写进去后即可.

posted @ 2008-04-26 23:40  netcai  阅读(458)  评论(0编辑  收藏  举报