现在遇到这样一个问题,在修改用户资料某一项(DropDownList控件) 的时候,由于用户资料比较老,数据库里的内容跟现在页面的DropDownList里面的Item的值不一样如果设置 dropDownList.SelectedValue = 数据库的值就会抛出异常请问这种情况该如何解决。

解决方案 »

  1.   

    不能这样设的:
    dropDownList.SelectedValue = 数据库的值就会抛出异常应该重新绑定:
    dropDownList.DataSource = DataSet;
    dropDownList.DataBind();
      

  2.   

    如果是用户的资料跟新的设定选项不一样的话,我想,应该显示 DropDownList 的第一项:请选择。ListItem li = null;
    li = DropDownList1.Item.FindByValue("用户资料");
    if( li != null )
      DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(li);
    else
      DropDownList1.SelectedIndex = 0;这样可能比较好。
      

  3.   

    1)修改dropdownlist中的item
    2)修改数据库中的记录
    3)在程序中作判断(当然,最好将数据库中的记录与dropdownlist中的item统一了)
      

  4.   

    其实一开始就应该把数据库中的记录邦定到dropdownlist中,不应该自己手动Add item