我有一個SPList
這是觀衆意識,我需要解析它的觀衆從SPListItem
。如何從列表項中分析觀衆
string Audiences;
public Class1(SPListItem item)
{
this.Audiences = item[FieldId.AudienceTargeting] as string;
}
我已經到此爲止了。我一直在尋找如何解析每個觀衆,但我找不到多少幫助。
有人知道這樣做嗎?
我有一個SPList
這是觀衆意識,我需要解析它的觀衆從SPListItem
。如何從列表項中分析觀衆
string Audiences;
public Class1(SPListItem item)
{
this.Audiences = item[FieldId.AudienceTargeting] as string;
}
我已經到此爲止了。我一直在尋找如何解析每個觀衆,但我找不到多少幫助。
有人知道這樣做嗎?
它應該是這樣的
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();
當您需要第一個觀衆時,這很有用。隨着我啓發,做這樣的事情的線條,這應該讓我一個數組與所有的觀衆:
public Class1(SPListItem item)
{
string ID = item[FieldId.AudienceTargeting] as string;
string audiences = audienceTargeting.Split(';')[0];
String[] audiencesArray = audiences.split(',');
}
然後通過迭代的GUID來獲取觀衆。
,因爲它是這裏所描述牢記觀衆目標的sintax:http://www.sharepoint-tips.com/2011/01/setting-target-audiences-with-code.html
我測試後確認以後。
我認爲從列表中檢索受衆羣體定位內容的正確方法是執行以下操作。
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()));
這樣,如果串變化的格式,在GetAudiencEIDsFromText在API的變化將隨之演變。
謝謝,我想我可以管理一個答案! –
世界上是什麼36?這對我來說不是一個靈活的解決方案 – Roman