Установите поле «Целевые аудитории» с несколькими значениями в элементе списка - PullRequest
1 голос
/ 09 января 2010

Я пытаюсь установить поле «Целевые аудитории» в элементе списка программным способом. Мне удалось программно установить значение для одной аудитории, но когда я пытаюсь использовать несколько аудиторий, 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 ]

0 голосов
/ 18 марта 2011

Просто понял, что я никогда не вернулся и ответил на это.

В итоге я сохранил имена аудиторий в столбце, прикрепленном к каждому элементу списка, а затем запросил объектную модель, чтобы выяснить, является ли текущий пользователь членом этих аудиторий. Это сработало для меня, потому что я извлекал данные из элемента списка в пользовательской веб-части, и пользователь никогда не видел фактический элемент списка.

0 голосов
/ 09 января 2010

Я не знаю, как сохранить несколько аудиторий в 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"];

РЕДАКТИРОВАТЬ: нашел некоторую информацию о том, какое значение поля Аудитория на самом деле: http://dotnetmafia.sys -con.com / node / 1181567 / mobile

...