我有一个包含多列表的页面
我想创建第二个多列表,其中包含上一个列表的选定值(并在修改第一个多列表时反映第二个多列表中的更改)。
我该怎么做?
答案 0 :(得分:2)
您需要扩展MultiListEx字段并添加动态源在DoRender事件中,您的代码应该是:
public class CustomMultiList : MultilistEx
{
private void GenerateDynamicDatasource()
{
//write some code to get the selected IDs from the first multilist field
//build a string with this query format :
// string EncludedIDsQuery = "@@id == '[First Selected Guid]' or @@id == '[secondSelected Guid]'" and so on
this.Source = "query:" + this.Source + "/*[" + EncludedIDsQuery+ "]";
}
protected override void DoRender(output)
{
this.GenerateDynamicDatasource();
base.DoRender(output);
}
}
希望这有帮助!
<强>更新强>
Keven有更多可重复使用的解决方案,我认为它也适用于您的情况: https://stackoverflow.com/a/25785363/2074649