2013-10-15 2 views
0

У меня есть построитель списка выбора, который заполняет новый список выбора из типа Enum и принимает значение перечисления, которое будет выбрано в качестве параметра.Мой MVC SelectList не выбирает, хотя объект выбрал = true?

Затем добавляют к DropDownList ниже

@Html.DropDownList("Status",ViewBag.Status as SelectList,"Select Status..", new { @class = "form-control" }) 

Проблема его не выбирает, когда я загрузить мнение, я проверил на выходе функции, и я могу видеть правильное значение имеет выбранный маркер как показано ниже.

Хотя, когда мой взгляд нагрузки я получаю это

enter image description here

Я не могу себе представить, где я буду неправильно, как все выглядело, как я подозреваю, что он должен, кроме моего зрения, что это ...? !?!

Это выход в моем браузере

enter image description here

Update: Перестановка помощника DropDownList в

@Html.DropDownList("Status") 

ли трюк, но я потеряю пользовательский стиль, который требуется .. Почему он не выбирает другой метод?

+0

вы используете пользовательский выпадающее управление списком ли? – Andrei

+0

Нет Я просто использую встроенный, я добавлю вывод на свой вопрос. –

ответ

1

Похоже, что у вас есть пользовательские стили выпадающего списка. И ваше реальное раскрывающееся меню скрыто. Пожалуйста, взгляните на HTML в раскрывающемся списке.

Если вы нашли скрытый , выберите тег, который вы должны исправить ваши стили для своего выпадающего списка.

+0

скрытый тег select, я не уверен, что следую за тобой? Я добавлю свою разметку вывода, чтобы вы могли видеть, что у меня есть. Я просто использую стили Bootstrap, если это имеет какое-либо значение? –

1

Я выяснил, что вызвало проблему, факт, что мой Html.SelectList имел то же имя, что и свойство ViewBag, которое содержало мой пользовательский результат SelectList. Изменение имени элемента ViewBag с статуса на статусы и мой вызов Помощника на

@Html.DropDownList("Status",ViewBag.Statuses as SelectList,"Select Status..", new { @class = "form-control" }) 

Удалось! Это должен быть какой-то конфликт имен в рамках соглашений MVC! Я надеюсь, что это поможет кому-то еще, у кого есть такая же проблема, как я нашел несколько вопросов в Интернете с похожими проблемами и без решения!

0

Вы должны указать имя поля, значение которого будет привязано движком Razor к выпадающему списку, для которого вам необходимо указать имя свойства, которое вы хотите связать в раскрывающемся списке. Попробовать это

@Html.DropDownList("Status",ViewBag.Status("AccountId","AccountName") as SelectList,"Select Status..", new { @class = "form-control" }) 

где AccountId, AccountName это поле свойство внутри viewbag.Status Где AccountName будет отображаться в виде текста страницы и ACCOUNTID будет связывать в качестве значения.

В вашем случае нужно проверить viewbag.Status и поместить имя свойства, которые существуют в

+0

Если вы посмотрите, как я связал список выбора в скриншоте метода выше, вы увидите, что я делаю это, передавая правильные значения. Спасибо в любом случае хотя :) –

Смежные вопросы