在页面加载期间,已经选择了索引0.然后这个代码语句选择索引1:
dropDownList.Items.FindByValue(myValue).Selected = true; // assume myValue is found at index 1 of dropDownList.Items
页面加载完成后,页面显示为:“System.Web.HttpException:DropDownList中不能选择多个项目”.
为什么我得到例外?我该怎么解决?
解决方法
我注意到索引0和索引1的属性“Selected”设置为true(dropDownList.Items [0] .Selected和dropDownList.Items [1] .Selected both are true).但是,dropDownList.SelectedIndex仍然为0,即使最近设置了索引1.
我尝试通过事先清除列表选项来解决这个问题.
dropDownList.ClearSelection(); dropDownList.Items.FindByValue(myValue).Selected = true;
但这没有帮助.发生同样的例外
有什么帮助,另一种方式是设置选定的值:
dropDownList.SelectedIndex = dropDownList.Items.IndexOf(dropDownList.Items.FindByValue(myValue));
现在的选择变化在整个列表中发生变化.
所以,不要使用dropDownList.Items [x] .Selected = true / false来更改DropDownList的选定值.而是使用dropDownList.SelectedIndex = x;