2013-12-26 4 views
1

Ну вот, я пытаюсь добавить класс Bootstrap в DropDownList, созданный Razor, но он продолжает давать мне squigglies.Добавление пользовательского класса в DropDownList в MVC 4

@Html.DropDownList("NationalityId", String.Empty, new {@class="form-control"}) 

Любая рекомендация относительно того, как я могу заставить это работать.

+0

Где вы получаете squigglies? Что такое сообщение об ошибке? – nemesv

+1

Вам не хватает двух фигурных скобок в конце: '})' – Flynn

+1

Извините, скобки здесь опечатки, синтаксически правильный код, вероятно, это не правильная перегрузка. –

ответ

3

это работает:

@Html.DropDownList("NationalityId",new List<SelectListItem>(), new {@class="form-control"}) 

Результат HTML:

<select name="NationalityId" id="NationalityId" class="form-control"></select> 
+0

Можете ли вы объяснить синтаксис, в этом случае, в этом случае, значение параметра NationalId будет передано в правильную таблицу. Что вообще делает String.empty? –

+0

Не могли бы вы объяснить, что является результатом HTML в моем коде? Это, похоже, работает и делает правильный класс. Спасибо –

+0

@ Html.DropDownList генерирует результат html, просто используйте правильную перегрузку. name = "nationalId" - использование для правильной привязки –

2

Попробуйте это:

@Html.DropDownList("NationalityId", null, new { @class = "form-control" }) 
+0

Строит ли String.Empty и null тот же HTML –

+0

Нет, но String.Empty был ошибкой в ​​строке кода, если я не ошибаюсь. Вы пытались передать строку, в которой ожидался список. NULL или еще лучше, но пустой список (см. Другие ответы) должен решить проблему. – Flynn

0

Другой вариант:

@Html.DropDownList("NationalityId", Enumerable.Empty<SelectListItem>(),new {@class="form-control"}) 
Смежные вопросы