3

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

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

奇怪的是,在调试器中,我看到列表项被正确读取。我正在把我剩下的头发拉到这个上面。

有任何想法吗?


这是任何关心的人的答案:

我这样调用我的页面 - mywebpage.aspx?id=1,其中 id=1 是我希望我的 webpart 显示的列表中项目的 id。由于某些只有 Microsoft 知道的原因,在查询字符串中使用“id”是一个禁忌。所以我将参数名称更改为“lid”,现在一切正常。

感谢大家的回复。

4

3 回答 3

1

您很可能在 Web 应用程序中使用不正确的凭据访问 SPItem。您应该提供适当的用户模拟。

请阅读我的帖子如何配置网络应用以进行模拟以了解更多详细信息:

WindowsIdentity 和经典 .Net 应用程序池

于 2012-11-01T20:31:09.887 回答
1

嗯,我想我找到了。我这样调用我的页面 - mywebpage.aspx?id=1,其中 id=1 是我希望我的 webpart 显示的列表中项目的 id。由于某些只有 Microsoft 知道的原因,在查询字符串中使用“id”是一个禁忌。所以我将参数名称更改为“lid”,现在一切正常。

感谢大家的回复。

于 2012-11-01T21:10:12.407 回答
0

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

于 2012-11-01T20:37:33.223 回答