2013-04-02 1 views
2

SharePoint 2010을 사용하여 목록 항목을 저장하고 해당 항목의 버전을 사용자 지정하는 응용 프로그램이 있습니다. 검색은 검색 서비스를 통해 작동하며 업데이트는 클라이언트 개체 모델을 사용하여 성공적으로 수행됩니다. 이제는 SharePoint에 기록 정보가 표시되는 방법, 파일 버전을 가져 오는 위치와 유사한 방식으로 사용자에게 표시 할 이전 버전의 목록 항목에 대한 사용자 지정 속성을 검색하려고 시도한 다음 변경된 속성 목록을 표시합니다.SharePoint 2010 ListItem에서 버전 기록에 액세스

지금 우리는 다음을 가지고 있지만 화면에 기록을 볼 때 SharePoint에 변경 내용이 표시 되더라도 파일 버전에는 표시 할 수있는 속성이 표시되지 않습니다.

using (ClientContext context = new ClientContext(spURL)) { 
    Web site = context.Web; 
    context.Load(site); 
    context.ExecuteQuery(); 

    File file = site.GetFileByServerRelativeUrl(sRelativeObjectPath); 
    context.Load(file); 

    context.ExecuteQuery(); 

    FileVersionCollection versions = file.Versions; 
    context.Load(versions); 
    context.ExecuteQuery(); 

    foreach (FileVersion ver in versions) 
    { 
     File verFile = site.GetFileByServerRelztiveUrl(ver.Url); 
     context.Load(verFile, f => f.ListItemAllFields); 

     //verFile.ListItemAllFields.FieldValues are null, need to get the properties of the ListItem 


    } 
} 

버전에 대한 속성 값을 가져 오는 방법에 대한 의견이 있으십니까? 이것은 SharePoint에서 실행되지 않으므로 SPQuery와 SPItem을 사용하기위한 SharePoint.dll에 대한 액세스 권한이 없습니다.

+0

"context.ExecuteQuery();가 필요합니다. "context.Load (verFile, f => f.ListItemAllFields);"다음에. – vinny

+0

@vinny +1, 전체 소스 코드를 읽지 않았습니다 ... –

답변

1

File 클래스에는 관련 목록 항목과 입력란을 사용할 수있는 File.ListItemAllFields property이 있습니다.

+0

더 자세히 설명하고 몇 가지 예를 들어주세요 ... 여기 .. ​​제발 ... 가능한 경우 해당 버전이 마지막으로 수정 한 날짜 또는 날짜와 같은 속성을 가져 오는 방법을 설명하십시오. ... 또는 그것을 만드는 사용자 이름. 마지막 버전 별 숫자 및 차이점과 같은 특정 속성을 얻는 방법 –

관련 문제