我试图查询Sharepoint 2010使用客户端对象模型获取列表的所有项目。
我尝试检索的属性之一是docentid _dlc_DocId
如果该字段存在于列表中,则查询工作正常,并返回我需要的数据,但如果由于文档Id服务未在该位置上启用而该字段不存在,则查询失败,并显示以下消息:
Column '_dlc_DocId' does not exist. It may have been deleted by another user.
我可以通过不缩小查询而只返回列表中的所有信息来解决这个问题,但出于性能原因,这不是一个可接受的解决方案。
是否有可靠的方法来处理属性不可用于特定列表的可能性?
使用此函数
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;
}
}