Orchard CMS中每个生命周期事件的定义是什么?

时间:2013-05-08 13:14:08

标签: orchardcms

Orchard中的内容处理程序文档提到Lifecycle Eventshttp://docs.orchardproject.net/Documentation/Understanding-content-handlers)。

大多数事件都是自我解释的,但我想知道是否有人可以告诉我OnActivatedOnInitializingOnLoading之间的差异?

1 个答案:

答案 0 :(得分:10)

按照解雇顺序:

  • OnActivated - 已创建内容项对象层次结构,但尚未从db

    获取

    用于准备内容部分以供进一步使用。例如。为延迟加载的对象设置getter和setter,设置委托等。把它想象成给定部分的“构造函数”。

  • OnInitializing - 已创建内容项对象层次结构,但尚未从db中提取。

    用于设置给定零件的初始/默认属性值。

  • OnLoading - 即将从db加载内容项。

    用于各种事物。仅当数据库中存在某个项目并且即将加载时才触发。 Orchard核心使用此事件为部分记录设置延迟加载器。

  • OnLoaded - 内容项已从db

    加载

    用于各种事物。仅当数据库中存在项目且已设置所有记录加载器时才触发。您可以确定part.Record此时任何部分都不会为空,并且将包含从数据库中提取的数据。