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()方法,所以需要阻止默认事件,同时操作同一数据,造成数据锁定。
时间: 2024-12-13 20:29:58