问:如何设置@ Html.DropDownList(而不是css)的宽度?
@Html.DropDownList("ListId",String.Empty,new {style="width: 250px;"}) @* no go!*@
解决方法
DropDownList帮助器的第二个参数必须是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,new { style = "width: 250px;" } )
最后要避免使用样式来混淆你的HTML,你应该使用外部CSS:
@Html.DropDownListFor( x => x.ListId,new { @class = "mycombo" } )
在您的外部CSS中,您将定义.mycombo规则:
.mycombo { width: 250px; }
现在你有我认为适当的代码。