我们如何在SharePoint列表中通过id验证元素是否存在?

时间:2009-01-12 19:33:49

标签: sharepoint list object

我想从列表中获取一个项目而不加载列表中的所有项目。 我知道我可以通过调用SPList.getElementbyId(myID)来执行此操作,但如果我不知道列表中是否存在此myID,我该如何验证呢? 是的我可以使用

SPListItem myItem = myList.Items[myID];
if (myItem == null)
{
   // log that we don't have this item
}

但是,这样,当我调用myList.Items时,列表中的所有项都会加载到myList对象中(如果我有40,000项,那么它确实是一个性能问题) ,所以我宁愿使用:

SPListitem myItem = myList.getElementById(myID);

这样我就不会调用Items属性,我们也不需要加载这些项目。 现在的问题是,如果该ID在列表中执行了注释,则方法getElementById将抛出异常。将它放在try/catch语句中并不是一个解决方案,因为我们可能想要验证几个ID,并且处理所有其他问题会再次导致性能问题。 是否有任何想法来检查是否存在具有给定ID的项目?

1 个答案:

答案 0 :(得分:2)

您可以使用检查运行的所有ID构建查询,并将返回的列表与您检查的ID进行比较,并确定哪些有效。

通过这种方式,您只能在找到丢失的内容时检索所需内容。