DropDownList设置值

来源:互联网 发布:双代号网络进度图 编辑:程序博客网 时间:2024/05/17 20:13

     今天在系统代码中发现了一个BUG,是关于DropDownListSelectedValueSelectedIndex


     系统原来的开发人员喜欢直接用SelectedValue设置选中值。这样就会出现再次绑定值时如果选中值不在新绑定的数据集引发的异常:

“DropDownList1”有一个无效 SelectedValue,因为它不在项目列表中。参数名: value


     解决办法:在代码中尽量不要用SelectedValue,而用SelectedIndex,例如:

DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByValue("XXX"));

或者

DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByText("XXX"));

这样在再次绑定时就不会出现上述异常。

    说明:第二次绑定时将DropDownList1.SelectedIndex = -1;