2

在针对 sharepoint list.asmx 服务运行 caml 查询时,我有一个奇怪的行为,即 GetListItems 方法也返回已删除的项目;

found item: test
found item: already done
found item: recurring
found item: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: todays event 15-16 //<- NOT DELETED YET

这是怎么回事?我需要在 caml 查询上应用特殊过滤器吗?我目前查询如下;

<Query>
  <OrderBy>
     <FieldRef Ascending='TRUE' Name='EventDate' />
  </OrderBy>
  <Where>
     <Eq>
        <FieldRef Name='EventDate' />
        <Value Type='DateTime'><Today /></Value>
     </Eq>
  </Where>
</Query>

到目前为止我已经尝试过什么;1. 清除回收站中的所有内容 2. 在 sharepoint 网络服务器上执行 iisreset

请注意; 我在 VMWare 工作站环境中运行。

4

1 回答 1

7

根据过去的日历经验,他们有一种非常奇怪(但合乎逻辑)的方式来处理重复发生的事件。首先有两件事,日历基本上只是一个专门的列表(就像 SP 中的所有东西一样),上面有一个花哨的视图控件。

将项目添加到日历时,会将单个项目添加到列表中。当添加重复事件时,SP 不会在列表中添加无限数量的项目,它会添加一个特殊的“重复”项目,正如您所注意到的。然后,如果您删除一些单独的重复事件,(即每周会议,但下周二取消)SP 会在列表中添加一个特殊的“已删除事件”项目。这些项目实际上并没有被删除,因为它们存在和不再存在,它们只是重复事件的例外。因此,当您在列表视图中查看日历时,它们会被过滤掉,但它们本身就是“真正的”单独的 SP 列表项目。

我希望这是有道理的。

于 2009-06-04T13:08:41.223 回答