2013-07-26 1 views
1

목록에서 문서 라이브러리 인 쿼리를 실행하면 ListItems에 채워지지 않은 파일 멤버가 있습니다. 분명히 성능상의 이유로 쿼리는 기본적으로 모든 데이터를 가져 오지 않지만 쿼리 구문이 모든 목록에 대해 일반적이고 파일 라이브러리 만 파일을 포함하기 때문에 파일 멤버를 채우도록 쿼리에 지시하는 방법을 알아낼 수 없습니다 그들 안에.클라이언트 개체 모델 Sharepoint 2013 API를 사용하여 ListItem의 File 멤버를 채우는 방법은 무엇입니까?

답변

1

그것이 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;  
    } 
} 
0

이 샘플 코드는 당신을 도움이 될 것입니다

은 파일의 속성을 ListItem을 검색하기 위해
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()); 

    });