使用SP客户端对象模型处理检索期间丢失的字段

本文关键字:字段 检索 SP 客户端 对象模型 处理 使用 | 更新日期: 2023-09-27 18:11:30

我试图查询Sharepoint 2010使用客户端对象模型获取列表的所有项目。

我尝试检索的属性之一是docentid _dlc_DocId

如果该字段存在于列表中,则查询工作正常,并返回我需要的数据,但如果由于文档Id服务未在该位置上启用而该字段不存在,则查询失败,并显示以下消息:

Column '_dlc_DocId' does not exist. It may have been deleted by another user.

我可以通过不缩小查询而只返回列表中的所有信息来解决这个问题,但出于性能原因,这不是一个可接受的解决方案。

是否有可靠的方法来处理属性不可用于特定列表的可能性?

使用SP客户端对象模型处理检索期间丢失的字段

使用此函数

function IsFieldExists(field) {
   
   string siteUrl = "http://MyServer/sites/MySiteCollection";
   ClientContext clientContext = new ClientContext(siteUrl);
   SP.List List = clientContext.Web.Lists.GetByTitle("listTitle);
   for (int i = 0; i < list.Fields.Count; i++)
   {
     if (list.Fields[i].Title == field)
       return true;
   }
}