Question

Je cherche à définir le champ « Audiences ciblées » sur un élément de la liste par programme. Je suis en mesure de définir la valeur d'un programme pour public, mais lorsque je tente d'utiliser des publics multiples, SharePoint tente d'interpréter la valeur que je suis en train comme un seul public, au lieu de plusieurs. Je suis en train de la valeur à l'aide du code ci-dessous.

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

J'utilise ce code pour spécifier des publics multiples comme ceci:

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

Quand je fais cela, SharePoint tente d'interpréter l'intégralité de la chaîne comme une seule audience, et je reçois un message quand je modifier l'élément de liste qui dit "No exact match was found."

Suis-je utiliser le format correct pour spécifier des publics multiples pour ce domaine, ou est-il une classe que je devrais utiliser semblable à SPFieldLookupValue?

Était-ce utile?

La solution 2

Juste réalisé que je ne suis jamais revenu et répondu cela.

J'ai fini par enregistrer les noms des auditoires dans une colonne attachée à chaque élément de la liste, puis interroger le modèle d'objet pour voir si l'utilisateur actuel est membre de ces audiences. Cela a fonctionné pour moi parce que je tirais les données de l'élément de liste dans une partie Web personnalisée, et l'utilisateur n'a jamais vu l'élément de la liste réelle.

Autres conseils

Je ne sais pas comment sauver des publics multiples dans un SPListItem, mais si j'avais ce problème, je vais essayer d'imprimer la valeur de ce champ à partir d'un script PowerShell. Quelque chose comme:

[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: trouvé quelques informations sur ce que la valeur du champ du public est en fait: http: / /dotnetmafia.sys-con.com/node/1181567/mobile

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top