2016-01-15 3 views
1

Я пытаюсь создать раскрывающееся меню из разных значений.Выпадающее меню из SELECT distinct

SELECT DISTINCT RoleGroup 
FROM ccf.role 

В моем контроллере я

var RoleGroups = db.Roles.Select(x => x.RoleGroup).Distinct(); 

ViewBag.RoleGroups = new SelectList(RoleGroups, "RoleGroup", "RoleGroup", null); 

На мой взгляд, я

@Html.DropDownListFor(model => model.RoleGroup, 
    (@ViewBag.RoleGroups) as IEnumerable<SelectListItem>, 
    new { htmlAttributes = new { @class = "form-control" } }) 

Я получаю ошибку

enter image description here

Что все это значит?

+1

Хотя многие люди фантазии использования вара, я вижу много путаницы/ошибок, которые были бы более очевидны для себя, если бы вы использовали IEnumerable с самого начала. – Dacker

ответ

1

Ваш запрос возвращает IEnumerable<string> и ваш SelectList конструктор пытается получить доступ к RoleGroup свойство string (2-й и 3-й параметры), который не существует. Она должна быть

ViewBag.RoleGroups = new SelectList(RoleGroups); 
Смежные вопросы