代码之家  ›  专栏  ›  技术社区  ›  Kyle Trauberman pestades

在列表项上设置具有多个值的“目标访问群体”字段

  •  1
  • Kyle Trauberman pestades  · 技术社区  · 15 年前

    我正在尝试以编程方式在列表项上设置“目标访问群体”字段。我已经能够以编程方式为一个访问群体设置值,但是当我尝试使用多个访问群体时,SharePoint会尝试将我设置的值解释为单个访问群体,而不是多个访问群体。我正在使用下面的代码设置值。

    listItem[listItem.Fields["Target Audiences"].InternalName] = "Audience One";
    

    我使用此代码指定多个访问群体,如下所示:

    listItem[listItem.Fields["Target Audiences"].InternalName] = "Audience One; Audience Two";
    

    当我这样做时,SharePoint会尝试将整个字符串解释为单个访问群体,当我编辑列表项时会收到一条消息 "No exact match was found."

    是否使用正确的格式为此字段指定多个访问群体,或者是否有一个类应该使用类似的 SPFieldLookupValue ?

    2 回复  |  直到 12 年前
        1
  •  0
  •   naivists    15 年前

    我不知道如何在SPListItem中保存多个访问群体,但如果遇到此问题,我将尝试从PowerShell脚本中打印出此字段的值。类似:

    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint");
    $site = Microsoft.SharePoint.SPSite("http://yourserver");
    $web = $site.openweb();
    $list = $web.lists["YourList"];
    $item = $list.getitembyid(itemid);
    write-output $item["Target Audiences"];
    

    编辑:找到了有关访问群体字段值实际值的一些信息: http://dotnetmafia.sys-con.com/node/1181567/mobile

        2
  •  0
  •   Kyle Trauberman pestades    13 年前

    我才意识到我再也没有回来回答这个问题。

    最后,我将访问群体的名称存储在每个列表项的一列中,然后查询对象模型以查看当前用户是否是这些访问群体的成员。这对我很有用,因为我正在从自定义Web部件的列表项中提取数据,而用户从未看到实际的列表项。