无法将表绑定到DropdownList

时间:2014-07-02 08:50:08

标签: asp.net

我有一个包含两列名为StudentId和name的表,我正在尝试将name列绑定到一个下拉列表控件,该控件使用下面的代码。

 protected void Page_Load(object sender, EventArgs e)
    {
      if(!Page.IsPostBack)
          fillStudentName();
    }

    void fillStudentName() {


        SqlConnection con = new SqlConnection(@"server=.\sqlexpress;database=Projects;UID=sa;Password=1234");
        SqlCommand cmd = new SqlCommand("select name from StudentInfo", con);
        SqlDataAdapter adp = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        adp.Fill(ds);

        ddlstudent.DataSource = ds.Tables[0];
        ddlstudent.DataTextField = "Name";

        ddlstudent.DataBind();

    }

问题在于我将此行添加到代码中。

 //    ddlstudent.DataValueField = "StudentId";->>this part throws exception

我在下面得到了这个例外。

DataBinding:'System.Data.DataRowView'不包含名为'StudentId'的属性。

但是这个字段存在,我已经仔细检查了这个名字。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

  

...不包含名为“StudentId”的属性

错误不言自明,您忘记选择此字段。所以从:

更改sql查询
select Name from StudentInfo

select Name, StudentId from StudentInfo

另外,方法名称fillStudentName已过时。它应该重命名为DataBindDdlStudent或类似的东西。