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