首页 > 代码库 > sharepoint事件接受器2

sharepoint事件接受器2

Sharepoint事件接收器图片库更新事件

简介

         Sharepoint中事件接受器是容易添加的,但有时需要设置几个属性。通过设置属性才能真确添加。阻止EventFiring。

需求

           当上传图片成功后,自动修改图片的关键词自段。问题看来很简单其实有很多问题,首先要确保不是添加的文件夹。还有在资源管理其中添加是否能够成功。

问题

                   在资源管理器中总是报,图片以被锁定无法update()。这是应为图片在添加是触发了默认事件需要阻止EventFiring。

代码:

1、新建一个继承事件接收器的类

 

///<summary>

   /// 禁止触发update事件

   /// </summary>

   public class SPItemEventReceiverHandling : SPItemEventReceiver

    {

       public SPItemEventReceiverHandling() { }

 

       new public void DisableEventFiring()

       {

           base.EventFiringEnabled = false;

       }

       new public void EnableEventFiring()

       {

           base.EventFiringEnabled = true;

       }

}


2、在更新列表更新时阻止EventFiring事件

SPListItem AddItem = properties.ListItem;

                SPItemEventReceiverHandling rh= new SPItemEventReceiverHandling();

                if(AddItem.FileSystemObjectType.ToString() != "Folder")

                {

                   properties.Web.AllowUnsafeUpdates = true;

                    rh.DisableEventFiring();

                   AddItem["Keywords"]=”更新成功”;                    AddItem.SystemUpdate(false);

                }


总结:

                   图片的前进会触发uptate()方法,所以需要阻止默认事件,同时操作同一数据,造成数据锁定。

sharepoint事件接受器2