如何在SharePoint上的ItemAdded()事件上检测项目还原

时间:2009-01-26 13:37:03

标签: events sharepoint recycle-bin

我知道当从回收站恢复项目时,会触发ItemAdded事件。 但是,如何检测添加的项目是来自回收站还是新文件。

5 个答案:

答案 0 :(得分:2)

这是一个非常古老的主题,但它出现在搜索主题的最佳结果中。

从我使用SP2010的实验中,当项目来自回收站时,properties.AfterProperties看起来是空的,而它完全填充在实际的新项目上。

所以,像这样的简单块可以解决这个问题:

if (!properties.AfterProperties.Cast<DictionaryEntry>().Any())
{
    // From Recycle Bin!
}
else
{
    // This item is really new.
}

我还没有测试过MOSS或SP2013。

答案 1 :(得分:0)

您可以检查项目的创建日期。回收站中的项目应具有先前创建的日期。

答案 2 :(得分:0)

回收站中的项目具有可在属性中可用的DeletedDate .BeforeProperties

答案 3 :(得分:0)

如果要手动检测,请检查文档的属性:创建的数据不同。对于文档,即使它被抛入回收站,创建的数据也是相同的。 如果您想通过各种工作流程来完成,那么您可以将属性设置为基准。更多细节请自己找。

答案 4 :(得分:-1)

检查SPItemEventProperties.ListItemId属性的值:

  • 如果为0,那么它是一个新项目;
  • 如果不是0,那么它就是一个项目 从回收站恢复。