我有一个返回
的泛型方法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 );
}
答案 0 :(得分:1)
我假设您的标记(或代码)错误地设置了DropDownList的DataTextField / DataValueField属性。
尝试将DataTextField设置为"Value"
,将DataValueField设置为"Key"
。
<asp:DropDownList ... DataTextField="Value" DataValueField="Key" ...