как получить целевую группу безопасности для элемента списка SharePoint?

#c# #sharepoint #target-audience

#c# #sharepoint #целевая аудитория

Вопрос:

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

строка MyItem = Преобразовать.toString(ListItem.properties[«Аудитория»])

но все, что я получаю, возвращается значение null. Я вижу, что целевая группа была сохранена в fueield для элемента thwe, когда я редактирую элемент в 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() .