1

プログラムでリスト アイテムの「ターゲット オーディエンス」フィールドを設定しようとしています。1 つの対象ユーザーに対してプログラムで値を設定できましたが、複数の対象ユーザーを使用しようとすると、SharePoint は、設定している値を複数ではなく単一の対象ユーザーとして解釈しようとします。以下のコードを使用して値を設定しています。

listItem[listItem.Fields["Target Audiences"].InternalName] = "Audience One";

このコードを使用して、次のように複数のオーディエンスを指定します。

listItem[listItem.Fields["Target Audiences"].InternalName] = "Audience One; Audience Two";

これを行うと、SharePoint は文字列全体を 1 つの対象ユーザーとして解釈しようとし、リスト アイテムを編集すると次のようなメッセージが表示されます。"No exact match was found."

このフィールドに複数の対象者を指定するための正しい形式を使用していますか、または に似たクラスを使用する必要がありSPFieldLookupValueますか?

4

2 に答える 2

0

複数の対象ユーザーを SPListItem に保存する方法がわかりませんが、この問題が発生した場合は、PowerShell スクリプトからこのフィールドの値を出力してみます。何かのようなもの:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint");
$site = Microsoft.SharePoint.SPSite("http://yourserver");
$web = $site.openweb();
$list = $web.lists["YourList"];
$item = $list.getitembyid(itemid);
write-output $item["Target Audiences"];

編集: Audience フィールドの値が実際に何であるかについての情報を見つけました: http://dotnetmafia.sys-con.com/node/1181567/mobile

于 2010-01-09T07:53:45.200 に答える