我知道当从回收站恢复项目时,会触发ItemAdded事件。 但是,如何检测添加的项目是来自回收站还是新文件。
答案 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属性的值: