如何防止在sharepoint列表中添加重复的列表项

时间:2011-06-02 09:55:32

标签: c# asp.net sharepoint-2010 sharepoint-api object-model

我需要通过对象模型将项目添加到sharepoint列表。在执行此操作之前,我想检查当前项目是否已存在于列表中。这该怎么做?

2 个答案:

答案 0 :(得分:1)

有多种方法可以实现这一目标。

首先,sharepoint默认允许您添加具有完全相同数据的List项目。

在这种情况下,您最好的选择是在Listitem中标识您的唯一标识符(通常是标题)中的列。然后,在列表设置中,单击列名称,并为“强制唯一值”选择“是”。

或者,当您使用对象模型添加项目时,请迭代现有项目并查看是否存在具有该值的ListItem。

发送一些代码示例,我可以帮助你。

干杯

答案 1 :(得分:0)

除了福克斯的回答,还有(显然)事件接收者

您可以在项目添加上的该列表上添加事件接收器,读取项目日期并将其与之前的项目进行比较,如果匹配取消添加和显示消息

public virtual void ItemAdding(SPItemEventProperties properties)
{
   // Your logic here....

   properties.Cancel = true; 
   properties.ErrorMessage = "A custom error message.";
}