我想将此查询的结果返回到可用于填充SelectList的内容中。我尝试了一个NameValueCollection和一个IEnumerable,但都失败了。
根据此代码,我有哪些选择?此代码不起作用,但查询正是我想要的。
public IEnumerable GetValidAssociationsForSelectList()
{
var associations = (from a in context.Associations
join u in context.Units on a.AssociationKey equals u.AssociationKey
where a.CCRRecording != null && a.CCRRecording.ToString() != ""
orderby a.LegalName
select new { a.AssociationKey, LegalName = a.LegalName.Replace("'", "") }).Distinct();
}
答案 0 :(得分:0)
您应该在查询中返回关联:
public IEnumerable GetValidAssociationsForSelectList() {
var associations = ( .... )
return associations;
}
然后遍历IENumerable以填充DropDownList中的ListItems,如下所示:
foreach (var item in GetValidAssociationsForSelectList())
{
ddlAssociations.Items.Add(new ListItem(item.AssociationKey, item.LegalName));
}
答案 1 :(得分:0)
您需要使select
语句的返回类型与您的IEnumerable匹配。
这是一种方法:
public IEnumerable<ListItem> GetValidAssociationsForSelectList() {
var associations = ...;
return associations.Select(a => new ListItem(item.AssociationKey, item.LegalName));
}