ASP.NET: Listbox datasource and databind

后端 未结 3 489
天涯浪人
天涯浪人 2020-12-19 21:58

I have an empty listbox on .aspx page

lstbx_confiredLevel1List

I am generating two lists programatically

List         


        
3条回答
  •  借酒劲吻你
    2020-12-19 22:57

    Why don't you use the same collection as DataSource? It just needs to have two properties for the key and the value. You could f.e. use a Dictionary:

    var entries = new Dictionary();
    // fill it here
    lstbx_confiredLevel1List.DataSource = entries;
    lstbx_confiredLevel1List.DataTextField = "Value";
    lstbx_confiredLevel1List.DataValueField = "Key";
    lstbx_confiredLevel1List.DataBind();
    

    You can also use an anonymous type or a custom class.

    Assuming that you have already these lists and you need to use them as DataSource. You could create a Dictionary on the fly:

    Dictionary dataSource = l1ListText
               .Zip(l1ListValue, (lText, lValue) => new { lText, lValue })
               .ToDictionary(x => x.lValue, x => x.lText);
    lstbx_confiredLevel1List.DataSource = dataSource;
    

提交回复
热议问题