SP2010开发和VS2010专家"食谱"--第一章节--列表和事件Receiver(6)--使用列表事件Receiver

        直到现在我们学习了列表项目事件Receiver,现在我们学习一下列表事件Receiver吧。本文章中,无论何时在网站创建新列表,我们需要记录监察项到另一个列表。

Getting ready

        创建自定义列表EventReceivers,添加Message栏目。

How to do it...

1. 打开VS,新建事件Receiver项目ListEventReceiver。

2. 选中部署为沙盒解决方案,点击下一步。

3. 确保选中列表事件类型的事件Receiver。选中正在添加列表事件。

4. 点击完成。

5. 添加必要的代码:

        public override void ListAdding(SPListEventProperties properties)
        {
            AddMessage(ref properties, "Adding List");
            base.ListAdding(properties);
        }

        private void AddMessage(ref SPListEventProperties properties, string sMessage)
        {
            using (SPWeb web = properties.Web as SPWeb)
            {
                SPList list = web.Lists["EventReceivers"];
                SPListItem li = list.AddItem();
                li["Title"] = properties.ListTitle;
                li["Message"] = sMessage + "-" + properties.ListId;
                li.Update();
                li = null;
                list = null;
            }
        }

6. F5生成并执行解决方案,或者调试--开始调试。

7. 添加新的自定义列表TestList。你应该可以看到EventReceivers列表中新项。


How it works...

        它和列表项事件Receiver工作方式相同,除了列表事件Receiver有基类SPListEventReceiver。你可以比较elements.xml文件。唯一不同的是它没有ListTemplateId属性。因为它应用于网站所有列表,所以也说得通。本例事件Receiver在网站级别使用。意味着在部署的站点创建新列表,就会触发事件。

There's more...

        如果你注意到base.ItemAdding方法有时首先调用,有时最后调用。规则很简单。如果你将取消事件,最后调用;否则在前面调用。对于同步事件ListAdding或ListItemAdding,我们会做数据验证,然后取消事件,所以在后面调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值