使用SP客户端对象模型在检索期间处理缺少的字段

时间:2014-07-04 10:16:05

标签: c# sharepoint sharepoint-clientobject

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

我尝试检索的其中一个属性是DocumentId _dlc_DocId

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

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

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

无论如何都可以可靠地处理特定列表中没有属性的可能性吗?

1 个答案:

答案 0 :(得分:0)

使用此功能

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;
   }
}