复制 DropDownList 之后,莫名其妙的“同步选择”,奇怪的问题。
我在 web 窗体上放了两个 DropDownList,我初始化了 DropDownList1:
DropDownList1.Items.Add("abc");
DropDownList1.Items.Add("def");
DropDownList1.Items.Add("hijklmn");
(略去了实际读取数据库的代码)
然后我想把 DropDownList2 做的和 DropDownList1 一样,我用了下面的两种方法:
方法一:
ListItem[] items = new ListItem[DropDownList1.Items.Count];
DropDownList1.Items.CopyTo(items, 0);
DropDownList2.Items.AddRange(items);
方法二:
foreach (ListItem li in DropDownList1.Items)
DropDownList2.Items.Add(li);
(无论用哪种方法,都会导致下面的结果)
我执行
DropDownList2.SelectedIndex = 2;
奇怪的是,DropDownList1 也被默认选中了 2,也就是说,无论怎么样,DropDownList2 选中哪个,DropDownList1 就选中哪个。程序没有别的代码。上面的代码都放在了 Page_Load 里面。
究竟为什么会这样?怎么解决?