我正在使用以下数组列表对下拉列表进行数据绑定:
ArrayList al = new ArrayList();
al.Add(new ListItem("Service Types", 1));
al.Add(new ListItem("Expense Types", 2));
al.Add(new ListItem("Payment Terms", 3));
al.Add(new ListItem("Classes", 4));
al.Add(new ListItem("Project", 5));
al.Add(new ListItem("Employees", 6));
al.Add(new ListItem("Payroll Codes", 7));
ddlType.DataSource = al;
ddlType.DataBind();
这导致以下HTML:
<select name="ddlType">
<option value="Service Types">Service Types</option>
<option value="Expense Types">Expense Types</option>
<option value="Payment Terms">Payment Terms</option>
<option value="Classes">Classes</option>
<option value="Project">Project</option>
<option value="Employees">Employees</option>
<option value="Payroll Codes">Payroll Codes</option>
</select>
如何在下拉列表中设置DataTextField和DataValueField属性,以便列表项的值是下拉列表中的值?
答案 0 :(得分:1)
为什么要干扰数据绑定。您可以直接填充项目集合:
ddlType.Items.Add(new ListItem("Service Types", 1));
...
ddlType.Items.Add(new ListItem("Payroll Codes", 7));
它甚至会使你的代码缩短3行; - )
答案 1 :(得分:0)
而不是代替ArrayList
包含ListItems
为什么不创建Hashtable
?
Hashtable hash = new Hashtable();
hash.Add("one", "1")
hash.Add("two", "2")
dd.DataSource = ht
dd.DataTextField = "value"
dd.DataValueField = "key"
dd.DataBind()
答案 2 :(得分:0)
您是否尝试过创建ListItemCollection并绑定到它?
答案 3 :(得分:-1)
ddlType.DataTextField = "Text";
ddlType.DataValueField = "Value";