Как получить целевую группу безопасности для элемента списка SharePoint?
Я разрабатываю веб-часть на C#, которая читает содержимое списка SharePoint. Я могу получить значения во всех нужных мне полях, кроме поля "Целевая аудитория" (которое использует группы безопасности AD). Я пробовал различные способы доступа к этому, например,
string myItem = Convert.ToString(ListItem.properties["Audience"])
но все, что я получаю, равно нулю. Я вижу, что целевая группа была сохранена в поле для элемента при редактировании элемента в SharePoint.
Как я могу получить содержимое этого поля, используя код?
1 ответ
Попробуйте не использовать 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()
,