学习拾遗--用RadioButtonList 或者DropDownList 进行动态赋值问题
动态的给radiobuttonlist 或者dropdownlist 赋值时 如果所赋的数值 在控件的列表中不存在时 往往会发生异常System.ArgumentOutOfRangeException: “DropDownList1”有一个无效 SelectedValue,因为它不在项目列表中)
例如 dropdownlist1中用"111,222,333",如果复制dropdownlist1.text="444"dropdownlist1.selectedvalue="444"时就会出现前面的异常。
但是有时候这种异常没有出现,那是因为我们没有用到dropdownlist或radiobuttonlist控件的(IsPostBack)indexchange事件,当控件需要事件时上面的错误异常就会被捕获。这是因为SelectedValue 属性还可以用于选择列表控件中的某一项,方法是用该项的值设置此属性。如果列表控件中的任何项都不包含指定值,则会引发 System.ArgumentOutOfRangeException。
同样这样 if ( DropDownList1.Items.FindByValue("中国").Selected)也会出现异常。
例如 dropdownlist1中用"111,222,333",如果复制dropdownlist1.text="444"dropdownlist1.selectedvalue="444"时就会出现前面的异常。
但是有时候这种异常没有出现,那是因为我们没有用到dropdownlist或radiobuttonlist控件的(IsPostBack)indexchange事件,当控件需要事件时上面的错误异常就会被捕获。这是因为SelectedValue 属性还可以用于选择列表控件中的某一项,方法是用该项的值设置此属性。如果列表控件中的任何项都不包含指定值,则会引发 System.ArgumentOutOfRangeException。
同样这样 if ( DropDownList1.Items.FindByValue("中国").Selected)也会出现异常。