【发布时间】:2011-11-03 21:13:12
【问题描述】:
我正在尝试使用客户端对象模型从 sharepoint 2010 检索有关重复事件的信息。我已检索到“Recurrencedata”和“fRecurrence”,但在其中看不到这些信息。
【问题讨论】:
标签: sharepoint-2010
我正在尝试使用客户端对象模型从 sharepoint 2010 检索有关重复事件的信息。我已检索到“Recurrencedata”和“fRecurrence”,但在其中看不到这些信息。
【问题讨论】:
标签: sharepoint-2010
sharepoint 日历列表中有三个用于重复的关键字段。你已经提到了其中两个。 “fRecurrence”是一个布尔字段,表示项目是否重复。 “RecurrenceData”是以 xml 格式存储有关重复的所有详细信息的字段。一个简单的例子是
<recurrence><rule><firstDayOfWeek>su</firstDayOfWeek><repeat><daily dayFrequency="1" /></repeat><repeatForever>FALSE</repeatForever></rule></recurrence>
第三个是“EventType”字段,它存储有关列表类型(正常、重复、重复异常等)的信息
您可以从here获取有关主题的详细信息
要从列表中读取条目,请使用:
ClientContext ctx = ClaimClientContext.GetAuthenticatedContext(targetSite)
var query = new CamlQuery();
query.ViewXml = @"<View Scope='Recursive'><Query><ViewAttributes Scope='RecursiveAll' /><OrderBy><FieldRef Name='ID' /></OrderBy></Query></View>";
var listItems = list.GetItems(query);
ctx.Load(listItems);
ctx.ExecuteQuery();
要阅读相关字段,请使用
string recurrenceData = listItems[0]["RecurrenceData"];
【讨论】:
Haltunbay 是绝对正确的,但由于这个问题很笼统,我想分享我在 SharePoint 上处理重复事件的经验。经过长时间的研究,我发现没有办法使用客户端对象模型来检索像单个系列这样的重复事件。但是 Lists.asmx 网络服务运行良好。所以,也许这个链接会对你有所帮助:
Expand Recurring Events from a Sharepoint Calendar over WebServices
Expanding of Recurring Events from a Sharepoint Calendar doesn't work for a ViewFields Query
【讨论】: