1

当您对作为文档库的 List 执行查询时,ListItems 有一个未填充的 File 成员。显然,出于性能原因,默认情况下查询不会提取所有数据,但我无法找到一种方法来告诉查询填充文件成员,因为查询语法对于所有列表都是通用的,并且只有文档库包含文件在他们中。

4

2 回答 2

1

为了检索具有 File 属性初始化的 ListItem,应通过ClientRuntimeContext.Load 方法明确指定:

private static ListItem GetListItem(string url, ICredentials creds, string listTitle, int listItemId)
{
    using (var clientContext = new ClientContext(url))
    {
        clientContext.Credentials = creds;

        var list = clientContext.Web.Lists.GetByTitle(listTitle);
        var listItem = list.GetItemById(listItemId);
        clientContext.Load(list);
        clientContext.Load(listItem, i => i.File); //specify File property 
        clientContext.ExecuteQuery();
        return listItem;    
    }
}
于 2014-01-11T12:27:39.713 回答
0

此示例代码应该可以帮助您:

    var ctx = SP.ClientContext.get_current();

    var itemFile = ctx.get_web().get_lists().getByTitle("Shared Documents").getItemById(1).get_file();

    ctx.load(itemFile);

    ctx.executeQueryAsync(function(){

    console.log(itemFile.get_title());

    },function(sender,args){

    console.log(args.get_message());

    });
于 2013-07-28T15:08:02.413 回答