3

SharePoint 2010 にリストがあります。プログラムで (カスタム Web パーツを介して) リストにアイテムを追加すると、後でそれらのアイテムを読み取って、他の Web パーツに表示できます。ただし、Web インターフェイスを介して追加されたリスト アイテムを読み取ろうとすると、Web パーツに次のエラーが表示されます。

アイテムが存在しません。選択したページには、存在しないアイテムが含まれています。別のユーザーによって削除された可能性があります。0x81020016

奇妙な部分は、デバッガーで、リスト項目が適切に読み取られていることがわかります。この上に残っている髪を引っ張っています。

何か案は?


気にする人のための答えは次のとおりです。

mywebpage.aspx?id=1 のようにページを呼び出していました。id=1 は、Web パーツに表示するリスト内のアイテムの ID でした。Microsoft のみが知っている何らかの理由により、クエリ文字列で「id」を使用することは禁止されています。そのため、パラメーター名を「蓋」に変更したところ、すべてが期待どおりに機能するようになりました。

みんなの反応に感謝します。

4

3 に答える 3

1

まあ、私はそれを見つけたと思います。mywebpage.aspx?id=1 のようにページを呼び出していました。id=1 は、Web パーツに表示するリスト内のアイテムの ID でした。Microsoft のみが知っている何らかの理由により、クエリ文字列で「id」を使用することは禁止されています。そのため、パラメーター名を「蓋」に変更したところ、すべてが期待どおりに機能するようになりました。

みんなの反応に感謝します。

于 2012-11-01T21:10:12.407 に答える
1

Web アプリ内で誤った資格情報を使用して SPItem にアクセスしている可能性があります。適切なユーザー偽装を提供する必要があります。

詳細については、偽装用に Web アプリを構成する方法についての私の投稿をお読みください。

WindowsIdentity とクラシック .Net アプリ プール

于 2012-11-01T20:31:09.887 に答える
0

アイテムの作成者であるあなたには、そのアイテムにアクセスする権限があります。クエリを実行している SharePoint リストのアクセス許可を確認して、認証に使用するコードが作成者ではないリストに対してどのようなアクセス許可を持っているかを確認する必要があります。

于 2012-11-01T20:37:33.223 に答える