Как отделить аудиторию от элемента списка - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть SPList, который осведомлен об аудитории, и мне нужно проанализировать его аудиторию из SPListItem.

string Audiences;

public Class1(SPListItem item)
{
  this.Audiences = item[FieldId.AudienceTargeting] as string;
} 

Я дошел до этого до сих пор. Я искал, как отделить каждую аудиторию от предмета, но я не мог найти большую помощь.

Кто-нибудь знает, как это сделать?

Ответы [ 3 ]

1 голос
/ 08 июня 2012

Я думаю, что правильный способ извлечения контента таргетинга аудитории из списка - это сделать следующее.

string audString = item[fieldId.AudienceTargeting] as string;
string[] audienceIds;
string[] distinguishedNames;
string[] spGroups;
AudienceManager manager = new AudienceManager();
AudienceManager.GetAudienceIDsFromText(audienceAsText, out audienceIds, out distinguishedNames, out spGroups);
var namesList = manager.GetAudienceNames(new ArrayList(globalAudienceID.Select(id => new Guid(id)).ToList()));

Таким образом, если формат строки изменяется, изменение api в GetAudiencEIDsFromText будет соответственно изменяться.

0 голосов
/ 02 сентября 2011

Это полезно, когда вы хотите первую аудиторию. С этими строчками я вдохновлен сделать что-то вроде этого, что должно собрать меня со всей аудиторией:

</p> <pre><code>public Class1(SPListItem item) { string ID = item[FieldId.AudienceTargeting] as string; string audiences = audienceTargeting.Split(';')[0]; String[] audiencesArray = audiences.split(',');

}

А затем повторить, чтобы получить аудиторию по гиду.

Принимая во внимание синтаксис целевой аудитории, как описано здесь: http://www.sharepoint -tips.com / 2011/01 / setting-target-audiences-with-code.html

Я подтвердлю позже после тестирования.

0 голосов
/ 01 сентября 2011

из это художественно так и должно быть

public Class1(SPListItem item)
{
     string ID = item[FieldId.AudienceTargeting] as string;
     string NewID = ID.Remove(36);
     Guid guid = new Guid(NewID);
     Audience siteAudience = audManager.GetAudience(guid);
} 

А потом, вероятно, siteAudience.GetMembership ();

...