Ienumerable <keyvaluepair <t,string =“”>&gt;作为数据源。怎么样?</keyvaluepair <t,>

时间:2011-10-14 09:59:10

标签: c# asp.net generics

我有一个返回

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

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

目前,当我将结果绑定到我的组合框时,我得到了一个exepction。我的方法是

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



    }

1 个答案:

答案 0 :(得分:1)

我假设您的标记(或代码)错误地设置了DropDownList的DataTextField / DataValueField属性。

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

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