我在 SharePoint 2010 中有一个列表。如果我以编程方式(通过自定义 Web 部件)将项目添加到列表中,我可以稍后读取这些项目并在其他 Web 部件中显示它们。但是,如果我尝试读取通过 Web 界面添加的列表项,我的 Web 部件中会出现以下错误:
项目不存在。 您选择的页面包含一个不存在的项目。它可能已被其他用户删除。0x81020016
奇怪的是,在调试器中,我看到列表项被正确读取了。我正在把剩下的头发拉到这根头发上。
有什么想法吗?
这里是所有关心的人的答案:
我这样调用我的页面 - mywebpage.aspx?id=1,其中 id=1 是列表中我希望我的 web 部件显示的项目的 ID。由于某些只有 Microsoft 知道的原因,在查询字符串中使用“id”是一个禁忌。所以我将参数名称更改为“lid”,现在一切都像我预期的那样工作。
感谢大家的回复。
最佳答案
您很可能在 Web 应用程序中使用不正确的凭据访问 SPItem。 您应该提供适当的用户模拟。
有关更多详细信息,请阅读我的帖子如何配置 Web 应用程序以进行模拟:
关于c# - 读取 SharePoint 2010 列表时出现“项目不存在”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13184873/