Set campo “Públicos-alvo”, com vários valores num item da lista
-
19-09-2019 - |
Pergunta
Eu estou tentando definir o campo "Públicos-alvo" em um item da lista de programação. Eu tenho sido capaz de definir o valor de programação para uma audiência, mas quando eu tentar usar vários públicos, SharePoint tenta interpretar o valor Estou configurando como um único público, em vez de múltiplas. Eu estou definindo o valor usando o código abaixo.
listItem[listItem.Fields["Target Audiences"].InternalName] = "Audience One";
Eu uso este código para especificar vários públicos como assim:
listItem[listItem.Fields["Target Audiences"].InternalName] = "Audience One; Audience Two";
Quando eu fizer isso, SharePoint tenta interpretar a seqüência inteira como um único público, e eu recebo uma mensagem quando eu editar o item da lista que diz "No exact match was found."
Am I usando o formato correto para a especificação de vários públicos para este campo, ou há uma classe que eu deveria estar usando semelhante ao SPFieldLookupValue
?
Solução 2
Apenas percebi que nunca mais voltou e respondeu isto.
acabei armazenar os nomes dos públicos-alvo em uma coluna ligada a cada item da lista, em seguida, consultando o modelo de objeto para ver se o usuário atual é um membro dessas audiências. Isso funcionou para mim porque eu estava puxando os dados do item da lista em uma peça personalizada web e o usuário nunca viu o item da lista actual.
Outras dicas
Eu não sei como salvar vários públicos em um SPListItem, mas se eu tivesse esse problema, eu tentaria imprimir o valor deste campo de um script PowerShell. Algo como:
[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: encontrei algumas informações sobre o que o valor do campo Audiência realmente é: http: / /dotnetmafia.sys-con.com/node/1181567/mobile