多列表中选定项的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如果是这样的话,那么它是一个更好的解决方案,并且更可重用