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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top