我有两个列表框,我试图从第一个列表中自动选择第二个列表。麻烦的是,我陷入第二个Foreach循环,第一个不会与它同步。有人可以看看,谢谢。
foreach (ListItem item in this.clb_Departments.Items)
{
foreach (ListItem it in this.cbl_fDepartments.Items)
{
if (item.Value == "2")
{
if (it.Value == "2")
{
if (item.Selected == true)
{
it.Selected = true;
break;
}
}
}
if (item.Value == "3")
{
if (it.Value == "3")
{
if (item.Selected == true)
{
it.Selected = true;
}
}
}
}
答案 0 :(得分:3)
如果ListBoxes
都有相同的项目:
for(int i=0; i<cbl_fDepartments.Items.Count; i++)
cbl_fDepartments.Items[i].Selected = clb_Departments.Items[i].Selected;
答案 1 :(得分:0)
我不认为这是正确的做法。从第一页的第一个列表框中捕获数据后,将其存放在某处。然后,当您渲染审阅页面时,将第二个列表框的SelectedValue设置为您先前隐藏的值。
无需同步任何内容。
答案 2 :(得分:0)
我仍然对你想要做的事感到困惑,但这可能会让你开始?
foreach (ListItem item in this.clb_Departments.Items)
{
this.cbl_fDepartments.Items[this.cbl_fDepartments.IndexOf(item)].Selected = item.Selected;
}
如果这不起作用,您可以在foreach
内尝试此操作:
this.cbl_fDepartments.Items.Cast<ListItem>().Where(t=>t.Value == item.Value).Selected = item.Selected;