事件接收器

  今天温习了一下事件接收器,顺便记录一下。

  1、用vs开发事件接收器,如果是针对列表或者列表项的,则不能够具体到某一列表;但是实际应用中大部分是要求具体到某一列表的,那怎么办呢?在这里本猪猪给大家推荐一个自己写的sharepoint小工具(http://www.cnblogs.com/fly-pig-not-pig/archive/2012/12/25/2832241.html),可以用“列表管理”-“事件管理”,来给某一列表添加事件处理。

  2、记录一下常用的东西

  

SPItemEventProperties方法和属性说明  
方法和属性 说明
BeforeProperties 获取事件发生前的数据
AfterProperties 事件发生后的数据,AfterProperties类型是SPItemEventDataCollection,可以通过其ChangeedProperties属性在前处理事件中给列表赋值
AfterUrl 事件发生后文件的URL
EventType 事件类型
ListItem 列表项对象
ListItemId 列表项Id
ListTitle 列表标题
CurrentUserId 当前用户ID
UserDisplayName 当前用户名
UserLoginName 当前用户登录名
RelativeWebUrl 站点的相对url
SiteId 当前站点的ID
WebUrl 当前站点的url
OpenWeb 采用此方法打开当前的站点对象,站点对象打开之后需要用Dispose方法进行释放。或者用using
ReceiverData 事件处理器关联的数据
Cancel 释放取消事件的执行。
ErrorMessage 事件取消时显示的错误消息

 3、事件接收器,返回错误信息的时候,界面不友好;我们可以自己写一个错误页;

方法:layouts下新建一个error页面,接收错误信息并显示。

properties.Cancel = true;
properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;
properties.RedirectUrl = "/_layouts/EventReceiverProject3/Error.aspx?error=" + SPHttpUtility.UrlKeyValueEncode("u are wrongs!");

 

posted @ 2012-12-25 12:55  飞猪猪非猪猪  阅读(400)  评论(0编辑  收藏  举报