【问题标题】:'Item Does Not Exist' error reading SharePoint 2010 List读取 SharePoint 2010 列表时出现“项目不存在”错误
【发布时间】:2012-10-22 12:01:00
【问题描述】:

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

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

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

有什么想法吗?


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

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

感谢大家的回复。

【问题讨论】:

  • “Web 界面”是指 UI 还是 Web 服务?
  • 您应该发布您的答案,而不是将其添加到您的问题中。

标签: c# list sharepoint impersonation


【解决方案1】:

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

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

WindowsIdentity and Classic .Net App Pool

【讨论】:

    【解决方案2】:

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

    感谢大家的回复。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-15
        • 1970-01-01
        • 2012-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多