我试图设置“目标受众”字段一个列表项编程。我已经能够以编程为一个观众设置的值,但是当我尝试使用多个观众时,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

刚刚意识到我再也没有回来,并回答这一点。

我结束了存储所述观众的名字在附连到每个列表项的列,然后查询对象模型,以查看是否当前用户是那些观众的成员。这为我工作,因为我是从列表项中的自定义Web部件拉低数据,用户从来没有看到实际的列表项。

其他提示

我不知道如何保存多个观众在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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top