我知道当从回收站中恢复一个项目时,会触发 ItemAdded 事件。但是,如何检测添加的项目是来自回收站还是新文件。
Thomas Holland
问问题
1961 次
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 回答