Orchardcms Orchard ContentPart OnCreating事件
我正在为自定义ContentPart编写自定义ContentHandler。在将新记录插入数据库之前,我试图使用OnCreating lifecycle事件在ContentPart上设置一个值,但该记录似乎是在调用我的事件处理程序之前创建的Orchardcms Orchard ContentPart OnCreating事件,orchardcms,Orchardcms,我正在为自定义ContentPart编写自定义ContentHandler。在将新记录插入数据库之前,我试图使用OnCreating lifecycle事件在ContentPart上设置一个值,但该记录似乎是在调用我的事件处理程序之前创建的 public class MyPartHandler: ContentHandler { public MyPartHandler( IClock clock, IRepository<MyPartRecord&
public class MyPartHandler: ContentHandler
{
public MyPartHandler(
IClock clock,
IRepository<MyPartRecord> repository)
{
this.Filters.Add(StorageFilter.For(repository));
OnCreating<CustomerPart>((CreateContentContext context, MyPartRecord myPart) =>
{
myPart.CreatedUtc = clock.UtcNow;
});
}
}
公共类MyPartHandler:ContentHandler
{
公共MyPartHandler(
IClock时钟,
i存储库)
{
this.Filters.Add(StorageFilter.For(repository));
OnCreating((CreateContentContext上下文,MyPartRecord myPart)=>
{
myPart.CreatedUtc=clock.UtcNow;
});
}
}
值得注意的是,除了涉及额外的数据库更新之外,结果是相同的
有几个问题:
您可以使用激活的
事件。这是内容项生命周期中调用的第一个事件。那么,与创建新的内容项/部件相关的事件实际发生在什么时候?寻找生命周期如何实际流动的更多细节。这个问题包含了一个很好的解释: