2013-04-02 8 views
2

У меня есть пользовательское приложение, которое использует SharePoint 2010 для хранения элементов списка и версии этих элементов. Поиск работает через службу поиска, а обновления успешно используют объектную модель клиента. Теперь мы пытаемся получить наши пользовательские свойства для старых версий элемента списка, чтобы показать пользователю, подобно тому, как SharePoint показывает информацию о истории, где он вытягивает версию файла, а затем показывает список измененных свойств.Доступ к свойствам в ListItem SharePoint 2010 для истории версий

Теперь у нас есть следующее, но версия файла не отображает никаких свойств, доступных для отображения, хотя 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, поэтому у меня нет доступа к SharePoint.dll для использования SPQuery и SPItem.

+0

Похоже, вам просто нужно «context.ExecuteQuery();» после "context.Load (verFile, f => f.ListItemAllFields);". – vinny

+0

@vinny +1, я не читал весь исходный код ... –

ответ

1

В классе File есть File.ListItemAllFields property, в котором вы можете использовать связанный элемент списка и его поля.

+0

, пожалуйста, опишите больше и несколько примеров ... здесь .. пожалуйста ... если возможно, опишите, как получить свойства, такие как последняя измененная дата или дата создания этой версии ... или имя пользователя, которые его создают. или как получить определенные свойства, такие как количество и различия по последним версиям –

 Смежные вопросы

  • Нет связанных вопросов^_^