该的第二个论点下拉列表 http://msdn.microsoft.com/en-us/library/dd470380.aspx帮助者必须是IEnumerable<SelectListItem>
。您正在传递一个字符串(更准确地说是一个空字符串)。因此,为了使用这个助手,你必须尊重它的签名:
@Html.DropDownList(
"ListId",
Enumerable.Empty<SelectListItem>(),
new { style = "width: 250px;" }
)
显然生成一个空的下拉列表是没有什么用处的。您可能有一个视图模型(顺便说一下,您应该)想要用来绑定到:
@Html.DropDownList(
"ListId",
Model.MyList,
new { style = "width: 250px;" }
)
当然,因为你有一个视图模型,你应该更喜欢使用DropDownListFor
helper:
@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
rule:
.mycombo {
width: 250px;
}
现在你有了我认为正确的代码。