将 DropDownList 与列表数组绑定 (c#)

Bind a DropDownList with a List Array (c#)

各位,

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

我有一个包含 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();

不应该这样工作吗?

你有这个;

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

ListWArraList<String>[] listWAraay= new List<String>[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();
    }
    

让我知道这些对你有用。