一个错误搞了我好久,就是修改更新会员信息,出了这样一个错误:“DropDoLisex”有一个无效 SelectedValue,因为它不在项目列表中。参数名: value
后台代码给出来了,求解决啊
  protected void FormView1_ItemUpdating(object sender, FormViewUpdateEventArgs e)
    {
        String sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
        SqlConnection sqlconn = new SqlConnection(sqlconnstr);        DataSet ds = new DataSet();
        DataTable dt;
        SqlDataAdapter sqld = new SqlDataAdapter("select * from [User] ", sqlconn);
        SqlCommandBuilder cb = new SqlCommandBuilder(sqld);
        sqld.Fill(ds, "user");
        dt = ds.Tables["user"];
        DataRow dr = dt.NewRow();
        FileUpload fupimg = (FileUpload)FormView1.FindControl("FileUpload1");
        TextBox txtrealName = (TextBox)FormView1.FindControl("txtrealname");
        DropDownList ddlsex = (DropDownList)FormView1.FindControl("DropDoLisex");
        TextBox txtBirth = (TextBox)FormView1.FindControl("txtbirth");
        TextBox txtPhone = (TextBox)FormView1.FindControl("txtphone");
        TextBox txtEmail = (TextBox)FormView1.FindControl("txtemail");
        TextBox txtAddress = (TextBox)FormView1.FindControl("txtaddress");
               ddlsex.SelectedIndex = ddlsex.Items.IndexOf(ddlsex.Items.FindByValue("DropDoLisex"));        dr["realname"] = txtrealName.Text;
        dr["sex"] = char.Parse(ddlsex.SelectedValue);
        dr["birth"] = txtBirth.Text;
        dr["phone"] = txtPhone.Text;
        dr["email"] = txtEmail.Text;
        dr["address"] = txtAddress.Text;
        dr["image"] = fupimg.FileName;
               if (fupimg.HasFile == true)
        {
            fupimg.SaveAs(Server.MapPath(("~/images/") + fupimg.FileName));
        }
        sqld.Update(ds, "user");
        this.FormView1.ChangeMode(FormViewMode.ReadOnly);
        FormView1.DataSource = Datacon.GetUserInfo(id);
        FormView1.DataBind();
    }

解决方案 »

  1.   

     ddlsex.SelectedIndex = ddlsex.Items.IndexOf(ddlsex.Items.FindByValue("DropDoLisex"));你的DropDownList中的值有DropDoLisex这个值嘛??没有怎么能找到呢?
      

  2.   

    DropDoLisex没有选择过,给个默认值
      

  3.   

    DropDoLisex是下拉框的名字,这个下拉框是绑定sex这个属性的,那我要怎样解决呢
      

  4.   

    在dropdownlist赋值那里加个try catch
      

  5.   

    DropDoLisex.Items这个集合里没有value为"1"的item,你硬让他SelectedValue="1" 就报这个错