Как получить целевую группу безопасности для элемента списка SharePoint? - PullRequest
0 голосов
/ 12 октября 2011

Я разрабатываю веб-часть на C #, которая читает содержимое списка SharePoint. Я могу получить значения во всех нужных мне полях, кроме поля «Целевая аудитория» (которое использует группы безопасности AD). Я пробовал разные способы доступа к этому, например

string myItem = Convert.ToString (ListItem.properties ["Audience"])

но все, что я получаю, равно нулю. Я вижу, что целевая группа была сохранена в поле для элемента при редактировании элемента в SharePoint.

Как я могу получить содержимое этого поля, используя код?

1 Ответ

0 голосов
/ 12 октября 2011

Попробуйте не использовать Properties из ListItem, а сами поля.

В поле «Целевая аудитория» у вас есть несколько GUID, хранящихся в виде строк, которые вам нужно получить следующим образом:

//use the FieldId enumeration for system fields
string audienceID = item[FieldId.AudienceTargeting] as string;
string newID = audienceID.Remove(36); //retrieve just the first guid
Guid audienceGuid = new Guid(newID);

AudienceManager audienceManager= new AudienceManager(SPContext.Current.Site);
Audience audience = audienceManager.GetAudience(guid);

После этого вы можете захотеть взглянуть на audience.GetMembership().

...