'项目不存在'读取SharePoint 2010列表时出错

时间:2012-11-01 20:20:40

标签: c# list sharepoint impersonation

我在SharePoint 2010中有一个列表。如果我以编程方式(通过自定义webpart)将项目添加到列表中,我可以稍后阅读这些项目并在其他Web部件中显示它们。但是,如果我尝试读取通过Web界面添加的列表项,我的webpart中会出现以下错误:

项目不存在。 您选择的页面包含一个不存在的项目。它可能已被其他用户删除.x81020016

奇怪的是,在调试器中,我看到列表项已正确读取。我把头发留下的东西拉过这个。

有什么想法吗?


以下是任何关心的人的答案:

我这样调用我的页面 - mywebpage.aspx?id = 1,其中id = 1是我希望我的webpart显示的列表中项目的ID。由于某些仅为Microsoft所知的原因,在查询字符串中使用“id”是禁止的。所以我将param名称改为'lid',现在一切都像我期望的那样工作。

感谢大家的回复。

3 个答案:

答案 0 :(得分:1)

您最有可能在网络应用中使用不正确的凭据访问SPItem。 您应该提供适当的用户模仿。

请阅读我的帖子如何配置用于模拟的网络应用程序以获取更多详细信息:

WindowsIdentity and Classic .Net App Pool

答案 1 :(得分:1)

嗯,我想我已经找到了。我这样调用我的页面 - mywebpage.aspx?id = 1,其中id = 1是我希望我的webpart显示的列表中项目的id。由于某些仅为Microsoft所知的原因,在查询字符串中使用“id”是禁止的。所以我将param名称改为'lid',现在一切都像我期望的那样工作。

感谢大家的回复。

答案 2 :(得分:0)

作为项目的创建者,您将拥有访问权限的权限。您需要检查要查询的SharePoint列表上的权限,以查看您使用身份验证的代码对您不是作者的列表具有哪些权限。