日期:2014-05-18  浏览次数:20535 次

郁闷,两个Dropdownlist老出现同步选中的问题
在页面作了两个月份的下拉框,可是不管我怎么写代码,这两个下拉框始终选中同一个值,
我希望第一个月份选1月,第二个选中12月,但是我只要设定了其中一个,另一个也被设定为同一个,代码很简单:
for (int i = 1; i <= 12; i++)
{
  ListItem monthItem = new ListItem(i.ToString() + "月", i.ToString());
  lstMonthFrom.Items.Add(monthItem);
  lstMonthTo.Items.Add(monthItem);
}
lstMonthFrom.ClearSelection();
lstMonthFrom.Items[0].Selected = true;
lstMonthTo.ClearSelection();
lstMonthTo.Items[11].Selected = true;

用下面的方法也不行:
lstMonthFrom.SelectedIndex = 0;
lstMonthTo.SelectedIndex = 11;

求教,是什么原因呢?

注:不想在ASPX页面手动写12个月的<asp:ListItem>

------解决方案--------------------
问题在于你后台给两个list加的是同一个listitem,那只好再给点空间了
for (int i = 1; i <= 12; i++) 

ListItem monthItem = new ListItem(i.ToString() + "月", i.ToString()); 
lstMonthFrom.Items.Add(monthItem); 
ListItem monthItem1 = new ListItem(i.ToString() + "月", i.ToString());
lstMonthTo.Items.Add(monthItem1);



------解决方案--------------------
for (int i = 1; i <= 12; i++)
{
ListItem monthItem1 = new ListItem(i.ToString() + "月", i.ToString());
lstMonthFrom.Items.Add(monthItem1);
ListItem monthItem2 = new ListItem(i.ToString() + "月", i.ToString());
lstMonthTo.Items.Add(monthItem2);
}

lstMonthFrom.ClearSelection();
lstMonthFrom.Items[0].Selected = true;
lstMonthTo.ClearSelection();
lstMonthTo.Items[11].Selected = true;