多列表中选定项的Sitecore数据源

多列表中选定项的Sitecore数据源,sitecore,sitecore6,Sitecore,Sitecore6,我有一个多列表页面 我想用上一个列表中的选定值创建第二个多重列表(并在第一个多重列表被修改时在第二个多重列表中反映更改) 活动 孤独星球丹麦 如何才能做到这一点?您需要扩展MultiListEx字段,并在DoRender事件中添加动态源代码,您的代码应该如下所示: public类CustomMultiList:MultilistEx { 私有void generatedDynamicDataSource() { //编写一些代码,从第一个multilist字段获取所选ID //使用此查询格

我有一个多列表页面

我想用上一个列表中的选定值创建第二个多重列表(并在第一个多重列表被修改时在第二个多重列表中反映更改)

  • 活动
  • 孤独星球丹麦

如何才能做到这一点?

您需要扩展MultiListEx字段,并在DoRender事件中添加动态源代码,您的代码应该如下所示:

public类CustomMultiList:MultilistEx
{
私有void generatedDynamicDataSource()
{
//编写一些代码,从第一个multilist字段获取所选ID
//使用此查询格式生成字符串:
//字符串EncludedIDsQuery=“@@id=”[First Selected Guid]”或@id=”[secondSelected Guid]”等
this.Source=“查询:“+this.Source+”/*[“+EncludedIDsQuery+”]”;
}
受保护的覆盖无效多伦德(输出)
{
this.generatedDynamicDataSource();
基准多伦德(输出);
}
}
希望这有帮助

更新

Keven有更多可重用的解决方案,我认为它也适用于您的案例:

我不会在这里创建自定义字段,我会使用
getLookupSourceItems
管道,正如我在这里回答的那样:@KevinBrechbühl很好的解决方案,但这不会应用于所有的多列表字段,我想Helder只需要在一个字段上使用它。不,只有代码字段的源包含
fromField
配置。请参阅张贴的图片。当然,这个管道处理器会针对每个可能包含源项的列表运行,但是第一个if语句会直接返回。@KevinBrechbühl如果是这样的话,那么它是一个更好的解决方案,并且更可重用