需要帮助对 ListItems 的 ArrayList 进行数据绑定

发布于 2024-07-13 17:10:49 字数 1026 浏览 5 评论 0原文

我正在使用以下数组列表对下拉列表进行数据绑定:

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 属性,以便列表项的值是下拉列表中的值?

I am databinding a dropdown list with the following array list:

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();

This results in the following 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>

How can I set the DataTextField and DataValueField properties on my dropdown so that the values of the list items are the values in the dropdown?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

痴情换悲伤 2024-07-20 17:10:49

为什么要费心数据绑定呢? 您可以直接填充 items 集合:

ddlType.Items.Add(new ListItem("Service Types", 1));
...
ddlType.Items.Add(new ListItem("Payroll Codes", 7));

它甚至可以使您的代码缩短 3 行;-)

Why bother with databinding at all. You can populate the items collection directly:

ddlType.Items.Add(new ListItem("Service Types", 1));
...
ddlType.Items.Add(new ListItem("Payroll Codes", 7));

and it will even make your code 3 lines shorter ;-)

最美不过初阳 2024-07-20 17:10:49

为什么不创建一个 Hashtable 而不是包含 ListItemsArrayList 呢?

Hashtable hash = new Hashtable();
hash.Add("one", "1")
hash.Add("two", "2")

dd.DataSource = ht
dd.DataTextField = "value"
dd.DataValueField = "key"
dd.DataBind()

Instead of an Instead of an ArrayList containg ListItems why don't you create a Hashtable?

Hashtable hash = new Hashtable();
hash.Add("one", "1")
hash.Add("two", "2")

dd.DataSource = ht
dd.DataTextField = "value"
dd.DataValueField = "key"
dd.DataBind()
随心而道 2024-07-20 17:10:49

您是否尝试过创建 ListItemCollection 并绑定到它?

Have you tried creating a ListItemCollection and binding to that?

昔梦 2024-07-20 17:10:49
ddlType.DataTextField = "Text";
ddlType.DataValueField = "Value";
ddlType.DataTextField = "Text";
ddlType.DataValueField = "Value";
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文