在修改员工信息页面中有一部门栏,在数据库中存的是部门的代码,比如他属于人事部,代码是100,有一dropdownlist(this.departxz)要绑定数据库的表depart,name是人事部等,code是100等,this.depart是textbox,此时this.depart.Value为100,想this.departxz.SelectedValue正好对应选择显示上人事部,代码如下:
SqlCommand cmd7=new SqlCommand("select * from depart",con);
SqlDataReader sdr7 =cmd7.ExecuteReader();
this.departxz.DataSource=sdr7;
this.departxz.DataTextField="name";
this.departxz.DataValueField="code";
if(this.depart.Value!="")
            this.departxz.SelectedValue=this.depart.Value;
this.departxz.DataBind();
sdr7.Close();走到if(this.depart.Value!="")
            this.departxz.SelectedValue=this.depart.Value;
时指定的参数已超出有效值的范围。参数名: value”问题这是怎么回事呢
大家帮帮忙阿
谢谢啦

解决方案 »

  1.   

    sdr7还没绑定到departxz.
    this.departxz.DataBind();应放到if前面试试
      

  2.   

    sdr7还没绑定到departxz.
    this.departxz.DataBind();应放到if前面试试这个试过了,不行阿
    if(this.depart.Text!="")这个改过来了
      

  3.   

    this.departxz.SelectedValue=this.depart.Value;
    最主要的问题是 你SelectedValue这个东西是一个index,她的值是有限制的 不会大于combox的item数目,而你这个this.depart.Value 我估计会远大于SelectedValue这个的最大值