San*_*era 3 asp.net sitecore sitecore6 c#-4.0
在我的sitecore Web应用程序OnItemSaved事件中,我想检测项目是否正在EventDisabler上下文中保存.例如,项目编辑如下所示......
using (new EventDisabler())
{
item.Editing.BeginEdit();
// do edits
item.Editing.EndEdit();
}
Run Code Online (Sandbox Code Playgroud)
在下面的方法中,我想识别在EventDisabler上下文中编辑的项目.
protected void OnItemSaved(object sender, EventArgs args)
{
// detect EventDisabler() context
}
Run Code Online (Sandbox Code Playgroud)
此外,item.Editing.EndEdit(true);我可以保存一个项目,这意味着它意味着使用EventDisabler上下文.应用它的方式我只想检测EventDisabler().如何检测EventDisabler()?
有一个静态属性IsActive的EventDisabler类:
EventDisabler.IsActive
Run Code Online (Sandbox Code Playgroud)
这将true在您每次进入EventDisabler上下文时返回.
您需要记住,当您处于EventDisabler活动上下文时,item:saved不会调用事件(当您调用时也是如此)item.Editing.EndEdit(true).
您可以检查EventDisable.IsActive状态,item:saving它会让您知道状态EventDisabler,但在item:saved事件中检查(如Mark Cassidy注意到的那样)是没有意义的.
| 归档时间: |
|
| 查看次数: |
1177 次 |
| 最近记录: |