飞猪猪非猪猪 发表于 2012-12-29 11:22:20

事件接收器

<div id="cnblogs_post_body">  今天温习了一下事件接收器,顺便记录一下。
  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事件发生后文件的URLEventType事件类型ListItem列表项对象ListItemId列表项IdListTitle列表标题CurrentUserId当前用户IDUserDisplayName当前用户名UserLoginName当前用户登录名RelativeWebUrl站点的相对urlSiteId当前站点的IDWebUrl当前站点的urlOpenWeb采用此方法打开当前的站点对象,站点对象打开之后需要用Dispose方法进行释放。或者用usingReceiverData事件处理器关联的数据Cancel释放取消事件的执行。ErrorMessage事件取消时显示的错误消息 3、事件接收器,返回错误信息的时候,界面不友好;我们可以自己写一个错误页;
方法:layouts下新建一个error页面,接收错误信息并显示。
<div class="cnblogs_code">properties.Cancel = true;properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;properties.RedirectUrl = "/_layouts/EventReceiverProject3/Error.aspx?error=" + SPHttpUtility.UrlKeyValueEncode("u are wrongs!");
页: [1]
查看完整版本: 事件接收器