我有以下代码来获取数据源以绑定到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 }
的简写