【问题标题】:Sitecore item:created vs item:addedSitecore item:created vs item: added
【发布时间】:2012-10-28 01:26:54
【问题描述】:

item:createditem:added 之间的事件有什么区别?每个事件什么时候触发?

【问题讨论】:

    标签: c# asp.net content-management-system sitecore sitecore6


    【解决方案1】:

    查看 Sitecore.Data.Events.ItemAddedDelegate 的代码,您可能会读到该委托已被弃用,您应该改用 ItemCreatedDelegate。根据我的测试:

    1. 创建新项目 - item: added 和 item:created 都会执行
    2. 克隆项目 - item: added 和 item:created 都会执行
    3. 复制项目 - item: added 不会执行,只有 item:created 会执行

      namespace Sitecore.Data.Events
      {
          [Obsolete("Use the ItemCreatedDelegate event instead.")]
          public delegate void ItemAddedDelegate(object sender, ItemAddedEventArgs args);
      }
      

    所以一般来说,总是使用 item:created

    【讨论】:

    • 嗯...唯一的事情是执行 item:created 时,不会生成克隆项目的通知。
    • 使用ItemCreatedDelegate 查找签名的绝妙技巧!
    【解决方案2】:

    item: added 和 item:created 事件看起来很相似,但只有 Sitecore 触发项目:当用户通过 UI 创建项目时添加,但它 fires 触发 item:created 当代码通过 API 创建项目时。采用 item:如果您只需要捕获手动添加的项目,则添加。

    参考:摘自 John West 的博文

    http://www.sitecore.net/learn/blogs/technical-blogs/john-west-sitecore-blog/posts/2011/05/all-about-events-in-the-sitecore-aspnet-cms

    【讨论】:

      猜你喜欢
      • 2016-07-21
      • 2015-03-22
      • 2014-06-05
      • 2014-10-09
      • 2014-10-05
      • 1970-01-01
      • 2016-09-12
      • 2011-06-30
      • 2011-08-29
      相关资源
      最近更新 更多