Ienumerable< KeyValuePair< T, string>比;作为数据源.如何

本文关键字:数据源 如何 KeyValuePair string Ienumerable | 更新日期: 2023-09-27 18:11:27

我有一个返回

的泛型方法
IEnumerable<KeyValuePair<T, string>> 

,但我希望T是一个整数。如何将此绑定到asp.net web表单应用程序中的组合框?

目前我得到一个异常,当我绑定结果到我的组合框。我的方法是

public static IEnumerable<KeyValuePair<T, string>> GetData<T>(IEnumerable<global::Dev.DAL.pets> st, Func<global::Dev.DAL.pets, T> getData)
    {
        var filtered = st.Select(a => new  { Id = getData(a), Code = Convert.ToInt32(getData(a)).ConvertToCode() });
        foreach(var v in filtered )
            yield return new KeyValuePair<T, string>(v.Id, v.Code );

    }

Ienumerable< KeyValuePair< T, string>比;作为数据源.如何

我假设你的标记(或代码)设置下拉列表的DataTextField/DataValueField属性不正确。

尝试将DataTextField设置为"Value", DataValueField设置为"Key"

<asp:DropDownList ... DataTextField="Value" DataValueField="Key" ...