如何防止在共享点列表中添加重复的列表项

发布于 2024-11-13 10:28:23 字数 59 浏览 6 评论 0原文

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

I need to add items to a sharepoint list through object model. Before doing this i want to check whether the current item is already exist in the list or not. how to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

手心的温暖 2024-11-20 10:28:23

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

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

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

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

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

干杯

There are multiple ways to achieve this.

Firstly, sharepoint allows you by default to add List items with exactly the same data.

Your best bet in this scenario, is to identify your column in the Listitem which is your Unique identifier (Usually Title). Then, in the list settings, click on the column name and select 'Yes' for Enforce Unique values.

Alternatively, as you are adding items using the Object Model, Iterate through existing items and see if a ListItem with that value exists.

Send some code example and I can help you out.

Cheers

ぃ弥猫深巷。 2024-11-20 10:28:23

除了福克斯的答案之外,还有(显然)事件接收器

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

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

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

In addition to Fox's answer , there's (Obviously) the Event Receiver

You can add an event receiver on that list on Item Adding , read the item date and compare it with previous items , if match cancel adding and show message

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

   properties.Cancel = true; 
   properties.ErrorMessage = "A custom error message.";
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文