【发布时间】:2009-01-26 13:37:02
【问题描述】:
我知道,当从回收站恢复项目时,会触发 ItemAdded 事件。 但是,如何检测添加的项目是来自回收站还是新文件。
【问题讨论】:
标签: events sharepoint recycle-bin
我知道,当从回收站恢复项目时,会触发 ItemAdded 事件。 但是,如何检测添加的项目是来自回收站还是新文件。
【问题讨论】:
标签: events sharepoint recycle-bin
这是一个非常古老的话题,但它出现在有关该主题的搜索结果中。
从我对 SP2010 的实验来看,当项目来自回收站时,properties.AfterProperties 看起来是空的,而实际的新项目则完全填充了它。
所以,这样一个简单的块就可以了:
if (!properties.AfterProperties.Cast<DictionaryEntry>().Any())
{
// From Recycle Bin!
}
else
{
// This item is really new.
}
我还没有测试过 MOSS 或 SP2013。
【讨论】:
您可以检查项目的创建日期。回收站中的项目应该有一个以前的创建日期。
【讨论】:
回收站中的项目有一个 DeletedDate,它可能在 properties.BeforeProperties 中可用
【讨论】:
如果您想手动检测它,请检查文档的属性:创建的数据不同。对于一个文档,即使它被扔进回收站,创建的数据也是一样的。 如果您想通过某种工作流程来做到这一点,那么您可以将属性设置为基准。更多细节请自行查找。
【讨论】:
检查 SPItemEventProperties.ListItemId 属性的值:
【讨论】: