【问题标题】:Bind a DropDownList with a List Array (c#)将 DropDownList 与列表数组绑定(c#)
【发布时间】:2020-10-22 12:01:42
【问题描述】:

各位,

我想用列表数组填充下拉列表。

我有一个包含 2 个数组的列表,我想将第一个数组放在 DataTextField 中,第二个放在 DataValueField 中。

我有这个:

List<String>[] listWAraay= new List<String>[2];
            listWAraay[0] = new List<String>();
            listWAraay[1] = new List<String>();

那我就这样做了:

                    ddl.DataSource = listWAraay;
                ddl.DataTextField = listWAraay[0].ToString();
                ddl.DataValueField = listWAraay[1].ToString();
                ddl.DataBind();

不应该这样工作吗?

【问题讨论】:

标签: c# drop-down-menu


【解决方案1】:

你有这个;

        List<String>[] listWAraay= new List<String>[2];
        listWAraay[0] = new List<String>();
        listWAraay[1] = new List<String>();

ListWArraList&lt;String&gt;[] listWAraay= new List&lt;String&gt;[2]; 包含 2 个数组。

然后像这样将它们分成新的数组;

        listWAraay[0] = new List<String>();
        listWAraay[1] = new List<String>();

这只是现在给你两个数组。这意味着要让你能够使用它们,你必须从每一个中获取数据。

在您的情况下,您似乎希望同时获取数据,因此一个简单的解决方案可能是;

        foreach(string item in listWAraay[0].zip(listWAraay[1], Tuple.Create))
        {
                ddl.DataTextField = item.item1.ToString();
                ddl.DataValueField = item.item2.ToString();
        }
        
    

假设两个数组的计数相同,你可以这样做;

    for(int 1 = 0; i < listWAraay[0].Count; i++)
    {
            ddl.DataTextField = listWAraay[0][i].ToString();
            ddl.DataValueField = listWAraay[1][i].ToString();
    }
    

让我知道这些对你有什么作用。

【讨论】:

    猜你喜欢
    • 2011-09-25
    • 1970-01-01
    • 2010-11-18
    • 2011-04-24
    • 1970-01-01
    • 2010-12-18
    • 2015-07-18
    • 1970-01-01
    • 2011-04-16
    相关资源
    最近更新 更多