リスト項目に複数の値を持つ「ターゲットオーディエンス」フィールドを設定します。

StackOverflow https://stackoverflow.com/questions/2030991

質問

私は、プログラムリスト項目の「ターゲットオーディエンス」フィールドを設定しようとしています。私は1人の聴衆のためのプログラムで値を設定することができましたが、私は、複数の観客を使用しようとすると、SharePointのは、私は、単一の観客ではなく、複数よう設定していた値を解釈しようとします。私は以下のコードを使用して値を設定しています。

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

私はそうのような複数の観客を指定するには、このコードを使用します:

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

私はこれを行うと、SharePointのは、単一の観客として文字列全体を解釈しようと、私は"No exact match was found."

と言うのリスト項目を編集するとき、私はメッセージを取得します

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

役に立ちましたか?

解決 2

ただ、私は戻ってきませんし、これに答え決して実現します。

私は現在のユーザがそれらの視聴者のメンバーであるかどうかを確認するために、オブジェクトモデルを照会次に、各リストのアイテムに添付欄に視聴者の名前を格納することになりました。私は、カスタムWebパーツでリスト項目からデータを引っ張ったので、これは私のために働いて、ユーザは、実際のリスト項目を見たことがありません。

他のヒント

私は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"];

EDIT:ます。http:/オーディエンスフィールドの値が実際にあるかについていくつかの情報を見つけました/dotnetmafia.sys-con.com/node/1181567/mobileする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top