【发布时间】:2010-09-29 15:49:31
【问题描述】:
我在两个不同的 SharePoint 安装上运行相同的代码,以遍历列表中的项目并显示数据。针对第一个 SharePoint 安装,
SPList.ItemCount == SPList.Items.Count == 4。
对于第二个 SharePoint 安装,SPList.ItemCount == 4 而 SPList.Items.Count == 0,并且遍历列表项目的 foreach 循环不起作用(因为没有任何项目)。 (不用说,两个 SP 安装上的列表具有相同的项目)。
我使用的代码可以总结如下:
...
SPList list = web.Lists["list"];
SPListItemCollection itemCollection = list.Items;
Console.WriteLine("list.ItemCount: {0}", list.ItemCount); //prints "list.ItemCount: 4"
Console.WriteLine("list.Items.Count: {0}", list.Items.Count); //prints "list.Items.Count: 0"
foreach (SPListItem item in itemCollection)
{
//nothing executed here, since itemCollection is empty,
//even though list.ItemCount is 4.
}
...
什么会导致 SPList.ItemCount 和 SPList.Items.Count 不同?而且,更重要的是,为什么我不能遍历列表中的项目,即使 SPList.ItemCount > 0 ?
SharePoint Overflow 上出现了此问题的副本,但它并没有完全解释解决方案。
【问题讨论】:
标签: sharepoint sharepoint-2007