大家帮我看看这个代码哪里有问题.
现在DDL无法获取到值.
 protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e)
    {
        DetailsView1.ChangeMode(DetailsViewMode.Edit);
        DetailsView1.DataBind();
        if (e.NewMode == DetailsViewMode.Edit)
        {
            if (!IsPostBack)
            {
                DropDownList ddl1 = (DropDownList)this.DetailsView1.Rows[3].Cells[1].FindControl("ddljz");
                SqlConnection con = jizhong.createConnection();
                con.Open();
                SqlCommand cmd = new SqlCommand("select * from jizhong", con);
                SqlDataReader sdr = cmd.ExecuteReader();
                ddl1.DataSource = sdr;
                ddl1.DataTextField = "jzName";
                ddl1.DataValueField = "jzID";
                ddl1.DataBind();
            }
        }
    }

解决方案 »

  1.   

     DropDownList ddl1 = (DropDownList)this.DetailsView1.Rows[3].Cells[1].FindControl("ddljz");
    确定是第三行?
      

  2.   

     if (!IsPostBack)
    写在事件里有屁用啊
      

  3.   

    protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e)
        {
            DetailsView1.ChangeMode(DetailsViewMode.Edit);
            DetailsView1.DataBind();
            if (e.NewMode == DetailsViewMode.Edit)
            {
                    DropDownList ddl1 = (DropDownList)this.DetailsView1.Rows["这个可能要先获取索引吧 如果有4行数据的话 你这里可以写3"].Cells[1].FindControl("ddljz");
                    SqlConnection con = jizhong.createConnection();
                    con.Open();
                    SqlCommand cmd = new SqlCommand("select * from jizhong", con);
                    SqlDataReader sdr = cmd.ExecuteReader();
                    ddl1.DataSource = sdr;
                    ddl1.DataTextField = "jzName";
                    ddl1.DataValueField = "jzID";
                    ddl1.DataBind();
            }
           
        }
      

  4.   

    protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e)
        {
            DetailsView1.ChangeMode(DetailsViewMode.Edit);
            DetailsView1.DataBind();
            if (e.NewMode == DetailsViewMode.Edit)
            {
                    DropDownList ddl1 = (DropDownList)this.DetailsView1.Rows[3].Cells[1].FindControl("ddljz");
                    SqlConnection con = jizhong.createConnection();
                    con.Open();
                    SqlCommand cmd = new SqlCommand("select * from jizhong", con);
                    SqlDataReader sdr = cmd.ExecuteReader();
                    ddl1.DataSource = sdr;
                    ddl1.DataTextField = "jzName";
                    ddl1.DataValueField = "jzID";
                    ddl1.DataBind();
            }
           
        }
    去掉了ISPOSTBACK,ddljz还是获取不到数据库的值.在帮我看看
      

  5.   

    我也遇到过这样的问题,我是这样解决的
    zai Page_Load里面
     if (!IsPostBack)
      {
    //获取数据源
    //绑定
      }
    参考