我有一个自定义应用程序,它使用 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。