Ответ 1
Второй аргумент DropDownList должен быть IEnumerable<SelectListItem>
. Вы передаете строку (более точную, точнее, пустую). Поэтому, чтобы использовать этого помощника, вам придется соблюдать его подпись:
@Html.DropDownList(
"ListId",
Enumerable.Empty<SelectListItem>(),
new { style = "width: 250px;" }
)
Очевидно, что создание пустого выпадающего списка малопригодно. Вероятно, у вас есть модель представления (вы должны кстати), которую вы хотите использовать для привязки к:
@Html.DropDownList(
"ListId",
Model.MyList,
new { style = "width: 250px;" }
)
и, конечно, потому что у вас есть модель представления, вам следует использовать помощник DropDownListFor
:
@Html.DropDownListFor(
x => x.ListId,
Model.MyList,
new { style = "width: 250px;" }
)
и, наконец, чтобы избежать загромождения HTML со стилями, вы должны использовать внешний CSS:
@Html.DropDownListFor(
x => x.ListId,
Model.MyList,
new { @class = "mycombo" }
)
где в вашем внешнем CSS вы определяете правило .mycombo
:
.mycombo {
width: 250px;
}
Теперь у вас есть то, что я считаю правильным кодом.