5

リストを使用せずにSharePointで一意のIDでリストアイテムを取得するのを手伝ってくれる人はいますか?リストアイテムの一意のIDは知っていますが、リストに関する情報はありません。クライアントオブジェクトモデルを使用して、次のことができます。

using (SP.ClientContext clientContext = new SP.ClientContext(...))
{
    **SP.List list = clientContext.Web.Lists.GetById(listId);**
    SP.ListItem listItem = list.GetItemById(listItemId);
    clientContext.Load(listItem);
    clientContext.ExecuteQuery();
    ...
}

残念ながら、このコードではlistIdを使用していますが、問題は、私のタスクではlistIdがわからず、ListItemGuidしかないことです。私は一意のIDを持っているので、追加情報を使用せずにこのアイテムを取得する方法が必要だと思います。

4

1 に答える 1

8

クライアントオブジェクトモデルを含むスニペットを投稿したので、それがソリューションに適したオブジェクトモデルだと思います。ただし、それが許容できる場合は、サーバー側のオブジェクトモデルを使用してこれを実現する方法に関する情報をいくつか見つけました。これは役立つ場合があります。

これはSPWeb.GetFile(Guid itemGuid)、アイテムがルートサイトに存在する場合に使用できるようです。

サブサイトでも機能させたい場合は、SPWeb.GetSiteDataメソッドを使用して、次の記事で説明されているように、アイテムを取得するcamlを呼び出すことができます。http://www.chakkaradeep.com/post/Retrieveing-an-Item-from-the -RootWeb-and-Subwebs-using-its-UniqueId.aspx

いくつかの追加情報については、SOのこのスレッドを参照することもでき ます。SharePoint:一意のIDでSPListItemを取得します

これらの方法の使用で問題が発生した場合は、お知らせください。また、これをクライアントオブジェクトモデルで実行するための代替案を探し、見つかった場合はそれらを投稿しますが、達成するのはより難しいようです。

于 2012-08-09T19:32:28.333 に答える