如何检索 SharePoint 列表项的目标安全组?

Posted

技术标签:

【中文标题】如何检索 SharePoint 列表项的目标安全组?【英文标题】:how to retrieve target security group for a SharePoint list item? 【发布时间】:2011-12-06 03:53:30 【问题描述】:

我正在用 C# 开发一个 Web 部件,它正在读取 SharePoint 列表的内容。 我可以检索我需要的所有字段中的值,目标受众字段(使用 AD 安全组)除外。我尝试了各种方法来访问它,例如

string myItem = Convert.ToString(ListItem.properties["Audience"])

但我得到的只是返回 null。当我在 SharePoint 中编辑项目时,我可以看到目标组已存储在该项目的字段中。

如何使用代码检索该字段的内容?

【问题讨论】:

【参考方案1】:

尽量不要使用ListItemProperties,而是使用字段本身。

在“目标受众”字段中,您有一些以字符串形式存储的 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()

【讨论】:

以上是关于如何检索 SharePoint 列表项的目标安全组?的主要内容,如果未能解决你的问题,请参考以下文章

将列表中的值检索到 SharePoint Webpart 中的 Gridview?

更新 Sharepoint 任务项的 ExtendedProperties 或 Approval Comments

SharePoint 2013 - 在品牌页面中显示列表项的详细信息,而不是默认的 SharePoint 详细信息页面

如何使用oData和JavaScript从Sharepoint 2013中的列表检索数据

JavaScript 如何使用oData和JavaScript从Sharepoint 2013中的列表中检索数据

如何从列表视图中从 onItemClick() 获得的列表项的联系人 Uri 中检索数据?