EventHandler之SPItemEventReceiver

本文详细介绍了SPItemEventReceiver的使用方法及步骤,包括如何创建和注册基于此基类的事件处理程序,以及如何利用这些事件来维护SharePoint列表项的数据一致性和完整性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天查找如何自定义菜单的时候,G到了MOSS中文网,不错:)

http://www.mosstec.cn/html/c16/2008-07/47.htm

SPItemEventReceiver是常规EventHandler编写继承的基类之一,并列于:SPItemEventDataCollection、SPItemEventReceiver、SPItemEventProperties之中。该基类提供了丰富的支持列表项,文档库项【Item】的支持,支持事件包含:ItemAddedItemAdding、ItemAttachmentAdded、ItemAttachmentAdding、ItemAttachmentDeleted、ItemAttachmentDeleting、ItemCheckedIn、ItemCheckedOut、ItemCheckingIn、ItemCheckingOut、ItemDeletedItemDeleting、ItemFileConverted、ItemFileMoved、ItemFileMoving、ItemUncheckedOut、ItemUncheckingOut、ItemUpdatingItemUpdated
其中加粗部分是我们常用的事件,我们可以在重写该事件中增加我们的逻辑,增加各种业务逻辑,起作用类似SQL Server2005或者2000的触发器的工作,可以用于维持数据的一致性,数据的完整性,处理一些状态等工作。EventHandler为我们提供了灵活的控制方法和机制,而且,在MOSS2007中增加了对列表库的支持,使得我们的工作更加的灵活。

以上时间的支持都是基于SPItemEventReceiver的,所以我们编写基于SPItemEventReceiver的EventHandler的步骤如下:
1、打开VS2005 OR VS2008;
2、选择“文件”-》“新建”-》“项目”,选择类库模板,确定就新建了一个类;
3、我们修改默认的类名为我喜欢的类名,或者按照命名规则去编写名称,添加对Microsoft.SharePoint.dll的引用;
4、将我们的类继承于SPItemEventReceiver;
5、重写需要的事件,当前列表的基本信息可以从SPItemEventProperties properties的properties中获得;
            properties包含几个属性,其中Item就是代表当前触发事件的项【Item】。
6、签名,为我们的程序签名,使编译后的DLL库具有强名称特性。
7、编译。
我想这个时候您就有了一个可以使用DLL了。

使用本站提供的Assembly查看工具查看相关信息,在服务器上新建一个工程,Console的工程也可以,在Main里面加入以下代码:


引用:

static void Main(string[] args)
        {
            SPSite site = new SPSite(@"SiteUrl");//SharePoint网站地址
            SPWeb web = site.AllWebs[0];//子站地址这里可以使用子站的GUID
            SPList lsit = web.Lists["ListName"];//注册事件的列表名称
            string strClassName = "ClassName";//查看到的类名【使用工具或者别的办法】
            string strAssembly = "AssemblyInfo";//查看到的Assembly信息
            lsit.EventReceivers.Add(SPEventReceiverType.ItemAdded,strAssembly,strClassName);
            //lsit.EventReceivers.Add(SPEventReceiverType.ItemUpdated, strAssembly, strClassName);
            Console.WriteLine("Install ok...");
            Console.ReadKey();
        }
注意这里也要添加Microsoft.SharePoint.dll的引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值