使用客户端对象模型访问sharepoint 2010重复发生的事件

时间:2011-08-25 16:48:34

标签: sharepoint-2010

我正在尝试使用客户端对象模型从sharepoint 2010检索有关重复事件的信息。我检索了“Recurrencedata”和“fRecurrence”,但我看不到这些信息。

2 个答案:

答案 0 :(得分:1)

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"];

答案 1 :(得分:1)

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