我有一个活动清单.我创建了一个每日重复的新项目(开始时间:2010年1月5日上午12:00和结束时间:2010年5月30日12:00 AM).我想删除具有开始时间的项目:5/12/2010 12:00 AM但我的应用程序抛出了异常.
我的代码如下:
DateTime eventDate = DateTime.Parse(list.Fields.GetFieldByInternalName("EventDate").GetFieldValueAsHtml(DateTime.Parse(this.DateTimeOfItem).ToUniversalTime()));
SPQuery pQuery = new SPQuery();
pQuery.ExpandRecurrence = true;
pQuery.CalendarDate = eventDate.AddDays(-1);
pQuery.Query = string.Format("<OrderBy><FieldRef Name=\"EventDate\"/></OrderBy><Where><And><DateRangesOverlap><FieldRef Name=\"EventDate\" /><FieldRef Name=\"EndDate\" /><FieldRef Name=\"RecurrenceID\" /><Value Type=\"DateTime\"><Week /></Value></DateRangesOverlap><Eq><FieldRef Name=\"ID\" /><Value Type=\"Counter\">{0}</Value></Eq></And></Where>", this.ID);
SPListItemCollection itemColl = list.GetItems(pQuery);
int index = 0;
while (index < itemColl.Count)
{
SPListItem item = itemColl[index];
if (DateTime.Parse(item["EventDate"].ToString()).CompareTo(eventDate) == 0)
{
web.AllowUnsafeUpdates = true;
item["UID"] = Guid.NewGuid().ToString();
item["EventType"] = 3;
item["RecurrenceID"] = eventDate;
item["MasterSeriesItemID"] = this.ID;
item["XMLTZone"] = null;
item["RecurrenceData"] = "Every 1 …Run Code Online (Sandbox Code Playgroud)