0

SPWeb.GetListItem()既知の URL ( MSDN ) でアイテムを取得するために使用しようとしています。

だから基本的に私は次のことをやっています:

using (SPSite spSite = SPContext.Current.Site)
{
    using (SPWeb spWeb = spSite.RootWeb)
    {
        SPListItem spListItem = spWeb.GetListItem
            ("/sites/testSite/Lists/testList/Folder/Subfolder");
    }
}

ご参考までに、「サブフォルダー」というフォルダーを取得して、それを処理しようとしています。

問題は、これを初めて呼び出すときに COMExpeption が発生することです。

このアクションを完了できません。

もう一度やり直してください。<nativehr>0x80004005</nativehr><nativestack></nativestack>

説明:現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.Runtime.InteropServices.COMException: この操作を完了できません。

完全な相対サイト URL を使用する必要があるため、COMExceptionが発生するという報告いくつか あります。また、絶対 URL ( ) を使用してみました。問題は残ります。spListItem を初めて取得しようとすると、COMException が発生します。 例外の後にコードを再度実行しようとすると、SPListItem が正常に受信されます。また、後続の呼び出しはすべて機能します - 最初の呼び出しのみが失敗します。/Lists/testList/Folder/SubFolder/sites/testSite/Lists/...http://sharepoint/sites/...

初期化が間違っているか、そのようなことをしていますか?

4

2 に答える 2

1

リスト アイテムが配置されている Web のインスタンス化を試みます - _uiserWeb

私は試しました-コードの再展開後に初めてSite.RootWeb.GetListItem(item_url)私に与えられ、2回目はうまくいきました。null

_item = _userWeb.GetListItem(item_url)
于 2014-11-04T15:32:35.467 に答える
1

おそらく、代わりに SPWeb.GetFolder() を試してください...しかし、それは、フォルダーで何をしたいかによって異なります。フォルダーのリスト項目を取得するために使用されるメソッドを使用しているのは奇妙に思えます。

http://msdn.microsoft.com/en-us/library/ms461547.aspx

于 2011-03-17T23:49:29.777 に答える