2010-11-01 2 views
0

Я хочу вернуть результаты этого запроса во что-то, что я могу использовать для заполнения SelectList. Я попробовал NameValueCollection и IEnumerable, но оба не удалось.Как я могу заполнить SelectList из этого запроса Linq?

Каковы мои варианты с учетом этого кода? Этот код не работает, но запрос - именно то, что я хочу.


     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

Вы должны вернуть ассоциации в запросе:

public IEnumerable GetValidAssociationsForSelectList() { 

    var associations = (....) 

    return associations; 

} 

А потом перебирать IEnumerable для заполнения ListItems в DropDownList, что-то вроде этого:

foreach (var item in GetValidAssociationsForSelectList()) 
{ 
    ddlAssociations.Items.Add(new ListItem(item.AssociationKey, item.LegalName)); 
} 
0

что вам нужно введите возвращаемый тип вашего оператора select в соответствие с вашим IEnumerable.

Вот один из способов это сделать:

public IEnumerable<ListItem> GetValidAssociationsForSelectList() { 
    var associations = ...; 
    return associations.Select(a => new ListItem(item.AssociationKey, item.LegalName)); 
} 
Смежные вопросы