我有以下代码来获取数据源以绑定到asp.net中的dropdownlist:

var list = countryRegionList.Select(o => o.CountryCode).Distinct();


我希望将列绑定到文本和值

ddlCountry_Billing.DataTextField = "CountryCode";
ddlCountry_Billing.DataValueField = "CountryCode";


但是,这给了我一个错误,说找不到该列。那么,如果数据源是列表的选择视图,如何解决此问题?

最佳答案

var list = countryRegionList.Select(o => o.CountryCode).Distinct();


这将返回仅CountryCode属性的集合,我假设该属性是一个字符串,因此,要绑定到的字符串上没有CountryCode属性。

您需要DistinctBy,或在投影中使用匿名类型:

var list = countryRegionList.Select(o => new { o.CountryCode }).Distinct();


请注意,new { o.CountryCode }new { CountryCode = o.CountryCode }的简写

10-07 21:01