c# - 读取 SharePoint 2010 列表时出现“项目不存在”错误

标签 c# list sharepoint impersonation

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

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

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

有什么想法吗?


这里是所有关心的人的答案:

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

感谢大家的回复。

最佳答案

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

有关更多详细信息,请阅读我的帖子如何配置 Web 应用程序以进行模拟:

WindowsIdentity and Classic .Net App Pool

关于c# - 读取 SharePoint 2010 列表时出现“项目不存在”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13184873/

相关文章:

c# - 在 ASP.NET 和 C# 中的服务器端使用 JSON

c# - 何时担心 SQL 注入(inject)保护

python - 如何解析文本文件并获取唯一值的计数?

python - 如何按特定顺序更新 Pandas 数据帧特定列的多个条目?

sql-server - 连接到 SharePoint 服务器的 SQL 服务器

c# - 调整图形大小以适合 PictureBox

c# - 检测应用程序是显示自己的控制台窗口还是在另一个控制台窗口中运行

python - 如何有条件地从元组列表中删除元素?

SharePoint SPListItemCollection ReorderItems

css - SharePoint 全局导航链接重复