使用DropDownList绑定数据时,有时候会出现问题:有一个无效 SelectedValue,因为它不在项目列表中
产生这个问题的原因是,需绑定的SelectedValue值,在DropDownList中不存在。所以系统抛出异常:
异常详细信息: System.ArgumentOutOfRangeException: “SupplierDrpDwnLst”有一个无效 SelectedValue,因为它不在项目列表中。
参数名: value
本人搜索了好多文章,解决方法都是用
DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByValue("XXX"));
这种方法不错,但是,每次都要在cs文件中写代码,极不方便。有没有办法,不用在后台写代码呢。也就是,我们重写一个DropDownList控件,当发现错误时,处理错误。
经过本人不懈的搜索,终于找到了重写的方法
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
原文地址:http://david.safitech.com/?p=53。跟我想的方法一样,不过本人水平有限,自己写不出来。
本人改造效果图
![DropDownList-override-string-SelectedValue-1](http://farm4.static.flickr.com/3084/3094708917_37cc33654f.jpg)
![DropDownList-override-string-SelectedValue-2](http://farm4.static.flickr.com/3175/3094708921_f2a5f57d79.jpg)