#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()
.