C# 访问SharePoint 2010列表项中的属性以获取版本历史记录
我有一个自定义应用程序,它使用SharePoint 2010存储列表项并对这些项进行版本设置。搜索正在通过搜索服务工作,并且使用客户端对象模型成功地进行了更新。我们现在尝试检索列表项的旧版本的自定义属性以向用户显示,类似于SharePoint显示历史记录信息的方式,从中提取文件版本,然后显示已更改属性的列表 现在我们有以下内容,但该文件的版本没有显示任何可显示的属性,即使SharePoint在屏幕上查看历史记录时确实显示了更改C# 访问SharePoint 2010列表项中的属性以获取版本历史记录,c#,sharepoint,sharepoint-2010,csom,C#,Sharepoint,Sharepoint 2010,Csom,我有一个自定义应用程序,它使用SharePoint 2010存储列表项并对这些项进行版本设置。搜索正在通过搜索服务工作,并且使用客户端对象模型成功地进行了更新。我们现在尝试检索列表项的旧版本的自定义属性以向用户显示,类似于SharePoint显示历史记录信息的方式,从中提取文件版本,然后显示已更改属性的列表 现在我们有以下内容,但该文件的版本没有显示任何可显示的属性,即使SharePoint在屏幕上查看历史记录时确实显示了更改 using (ClientContext context = new
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。在
文件类中有,您可以使用关联的列表项及其字段。看起来您只需要在“context.Load(verFile,f=>f.ListItemAllFields);”之后添加“context.Load(verFile,f=>f.ListItemAllFields);@vinny+1,我没有读完整的源代码…请描述更多和一些例子。。。在这里请如果可能,描述如何获取属性,如上次修改日期或该版本创建的日期。。。或者创建它的用户名。或者如何获得特定的属性,如数字和上一版本的差异