sharepoint - 按受众筛选 SharePoint 列表

标签 sharepoint

使用 SharePoint SDK,我试图检索列表并在复合控件中显示内容。该列表是听众知道的,我想将其保持在我的控制之下。我怎样才能使用 SharePoint SDK 获取这个按受众筛选的列表?这是我正在使用的一些代码:

SPWeb currentWeb = SPContext.Current.Site.RootWeb;
SPList shortcuts = currentWeb.Lists["Shortcuts"];

最佳答案

这是我现在正在使用的一些代码,它对我来说不太适用。根据观众的设置方式,我应该得到结果:

protected override void CreateChildControls()
{
dropdown = new DropDownList();
dropdown.Items.Add(new ListItem("Select...", ""));

SPWeb currentWeb = SPContext.Current.Site.RootWeb;
SPList shortcuts = currentWeb.Lists["Shortcuts"];

ServerContext context = ServerContext.GetContext(currentWeb.Site);
AudienceManager audManager = new AudienceManager(context);
AudienceCollection audiences = audManager.Audiences;
AudienceLoader audienceLoader = AudienceLoader.GetAudienceLoader();

foreach (SPListItem listItem in shortcuts.Items)
{
    string audienceFieldValue = (string)listItem["Target Audiences"];

    if (AudienceManager.IsCurrentUserInAudienceOf(audienceLoader, audienceFieldValue, false))
    {
        dropdown.Items.Add(new ListItem(listItem.Title, listItem.Url));
    }
}

Controls.Add(dropdown);
base.CreateChildControls();
}

开启:

if (AudienceManager.IsCurrentUserInAudienceOf(audienceLoader, audienceFieldValue, false))

它永远不会返回 true,即使它应该是。

关于sharepoint - 按受众筛选 SharePoint 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1466544/

相关文章:

javascript - 错误 : SP. ClientContext().get_current throws uncaught typeError: undefined is not a function

javascript - SharePoint - 显示模板 - 访问客户端上下文对象

web-services - 从 Sharepoint 到 HTML 的 CAML

list - 如何按 Sharepoint 中的用户/组列过滤列表项?

c# - 加载多张工作表并导出到一张 excel 工作表

asp.net - 使用 Sharepoint Web 服务

sharepoint - 有没有比迭代 Workbooks.Open() 更快的方法从工作簿中收集数据?

sharepoint - 创建需要唯一值的自定义字段

c# - 使用其 ID 获取列表

.net - SharePoint 功能 : How can I use wildcard assembly versioning?