我试图从数据表绑定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
}
答案 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();