2009-01-26 64 views

回答

0

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

+0

这是一个实用的解决方案(如果您将它们转换为毫秒,出现错误的可能性很小),但依靠DateTime比较似乎非常困难(您需要涉及CultureInfo和字符串到日期的转换)。查看我的回答 – Louis 2013-08-23 15:39:54

0

项目在回收站中有如果你想手动检测它,然后检查文件的属性,可以在properties.BeforeProperties

0

提供一个DeletedDate:有创建的数据是不同的。对于文档,即使它被引入回收站,创建的数据也是一样的。 如果你想通过一种工作流程来实现,那么你可以设置属性作为基准。更多细节请自行找到。

-1

检查SPItemEventProperties.ListItemId属性的值:

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

ItemAdded事件在*列表项创建后发生,并且在两种情况下都会有ListItemId。您的答案仅适用于ItemAdding事件。 – Chloraphil 2011-09-07 18:20:56

0

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

从我对SP2010的实验中,看起来properties.AfterProperties在物品来自回收站时为空,而它完全填充在实际的新物品上。

所以,简单的块像这样会做的伎俩:

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

我没有测试过MOSS或SP2013呢。

相关问题