我需要查询 Sharepoint 2013 文档库并检索列表中字段值等于某个值的所有文档。我为此使用 Sharepoint 2013 CSOM 客户端 (Microsoft.SharePoint.Client)。
我可以使用以下代码成功检索除文档 URL 之外的所有 ListItem 字段:
ClientContext spContext = new ClientContext(spDocLibSite);
List cjList = spContext.Web.Lists.GetByTitle(spDocLibTitle);
CamlQuery listItemQuery = CamlQuery.CreateAllItemsQuery(100);
listItemQuery.ViewXml = "ViewXml that limits ListItems returned based on a field val";
ListItemCollection docItems = cjList.GetItems(listItemQuery);
spContext.Load(docItems);
spContext.ExecuteQuery();
foreach (ListItem listItem in docItems)
{
Console.WriteLine(listItem["Title"]); // Works correctly with all fields except URL
listItem.File.Name or Title; // Does not work, get field not initialized error
}
File 属性似乎没有关于 Document 的任何数据,当我尝试访问其属性时出现错误。
我没有设置这个文档库,但它似乎是标准的,每个列表项都有一个文档,大约有十几个字段,其中包含有关文档的各种信息。如果我查看库/列表的字段列表,文档/URL 甚至没有列为字段。我能否以某种方式从我已经检索的 ListItem 类中获取文档的 URL?谢谢。