如何从数据表中设置dropdownlist的值?

时间:2014-09-23 12:33:46

标签: c# asp.net ado.net

我试图从数据表绑定dropdownlist,其中数据表包含departmentID和DepartmnentName。绑定是成功的,但如何设置项的值?

    dt = objDeparment.SelectAll().Tables[0];
    foreach (DataRow dr in dt.Rows)
    {
        DropDownList1.Items.Add(dr[1].ToString()); //binding the dropdownlist with department names
    }

1 个答案:

答案 0 :(得分:2)

不要只添加字符串,添加ListItem(为此公开more useful constructors):

DropDownList1.Items.Add(new ListItem(dr[1].ToString(), dr[0].ToString()));
//                                   ^^--Text          ^^--Value

(假设"值"你想要的是dr[0],只需使用保存代码实际值的任何内容)

您还可以将控件直接绑定到DataTable,而不是在循环中添加项目。像这样:

DropDownList1.DataSource = objDeparment.SelectAll().Tables[0];
DropDownList1.DataTextField = "some column";
DropDownList1.DataValueField = "another column";
DropDownList1.DataBind();