3

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

4

5 回答 5

2

这是一个非常古老的线程,但它出现在该主题搜索的顶部结果中。

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

因此,像这样的简单块就可以了:

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

我还没有测试过 MOSS 或 SP2013。

于 2013-08-23T15:44:23.823 回答
0

如果您想手动检测它,请检查文档的属性:创建的数据不同。对于一个文档,即使它被扔进回收站,创建的数据也是一样的。如果您想通过某种工作流程来做到这一点,那么您可以将属性设置为基准。更多细节请自行查找。

于 2009-02-05T02:31:34.283 回答
0

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

于 2009-01-26T16:21:19.140 回答
0

回收站中的项目有一个 DeletedDate,它可能在 properties.BeforeProperties 中可用

于 2009-01-26T20:50:06.867 回答
-1

检查 SPItemEventProperties.ListItemId 属性的值:

  • 如果为0,则为新项;
  • 如果不是 0,那么它是从回收站恢复的项目。
于 2011-04-18T15:23:15.310 回答