【问题标题】:Handle missing field during retrieval using SP Client Object Model使用 SP 客户端对象模型在检索期间处理缺失字段
【发布时间】:2014-09-23 15:03:18
【问题描述】:

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

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

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

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

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

有没有办法可靠地处理某个属性对特定列表不可用的可能性?

【问题讨论】:

  • 您可以先尝试获取字段(list.Fields.getByInternalNameOrTitle),如果存在,将其包含在查询中。

标签: c# sharepoint sharepoint-clientobject


【解决方案1】:

使用此功能

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多