如何使用客户端对象模型Sharepoint 2013 API填充ListItem的File成员?

时间:2013-07-26 18:48:49

标签: sharepoint-2013

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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());

    });