Добавление пользовательского класса в DropDownList в MVC 4

Итак, я пытаюсь добавить класс Bootstrap в DropDownList, сгенерированный Razor, но он продолжает давать мне волнистые линии.

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

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


person Community    schedule 26.12.2013    source источник
comment
Где вы берете сквиггли? Что такое сообщение об ошибке?   -  person nemesv    schedule 26.12.2013
comment
Вам не хватает двух фигурных скобок в конце: } )   -  person Michael A. Volz aka Flynn    schedule 26.12.2013
comment
Извините, фигурные скобки здесь опечатка, синтаксически код правильный, вероятно, это неправильная перегрузка.   -  person    schedule 26.12.2013
comment
передать null вместо string.empty, я предполагаю, что вы попали в неправильную перегрузку.   -  person Alexander Taran    schedule 26.12.2013


Ответы (3)


оно работает:

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

Результат html:

<select name="NationalityId" id="NationalityId" class="form-control"></select>
person Ilya    schedule 26.12.2013
comment
Не могли бы вы объяснить синтаксис, передается ли NationalityId в правильную таблицу в этом случае. Что вообще делает String.empty? - person ; 26.12.2013
comment
Не могли бы вы объяснить, что такое результирующий HTML в моем коде? Это, кажется, работает и отображает правильный класс. Спасибо - person ; 26.12.2013
comment
@Html.DropDownList генерирует Result html, просто используйте правильную перегрузку. name=NationalityId - использование для корректной привязки - person Ilya; 26.12.2013

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

@Html.DropDownList( "NationalityId", null, new { @class = "form-control" } )
person Michael A. Volz aka Flynn    schedule 26.12.2013
comment
Отображает ли String.Empty и null один и тот же HTML - person ; 26.12.2013
comment
Нет, но String.Empty была ошибкой в ​​строке кода, если я не ошибаюсь. Вы пытались передать строку там, где ожидался список. NULL или еще лучше пустой список (см. другие ответы) должен решить проблему. - person Michael A. Volz aka Flynn; 27.12.2013

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

@Html.DropDownList("NationalityId", Enumerable.Empty<SelectListItem>(),new {@class="form-control"})
person Thiago Custodio    schedule 26.12.2013