Доступ к свойствам в ListItem SharePoint 2010 для журнала версий

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

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


person tlbignerd    schedule 02.04.2013    source источник
comment
Похоже, вам просто нужно context.ExecuteQuery (); после context.Load (verFile, f = ›f.ListItemAllFields) ;.   -  person vinny    schedule 02.04.2013
comment
@vinny +1, я не читал весь исходный код ...   -  person Ondrej Tucny    schedule 02.04.2013


Ответы (1)


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

person Ondrej Tucny    schedule 02.04.2013
comment
пожалуйста, опишите больше и несколько примеров ... здесь ... пожалуйста ... если возможно, опишите, как получить свойства, такие как дата последнего изменения или дата создания этой версии ... или имя пользователя, которое ее создает. или как получить конкретное свойство, такое как количество и различия по последним версиям - person saber tabatabaee yazdi; 20.03.2014