DropDownList引导样式

3 css c# asp.net asp.net-mvc twitter-bootstrap

我是ASP.NET的新手,并且一直在asp.net网站上通过ASP.NET MVC 5入门教程.

我遇到了一个问题,我似乎无法用引导程序设置我的下拉框.我目前正在使用下面的代码,它可以在标准下拉列表中显示它,但我不确定如何使样式工作.

旧代码:

Genre: @Html.DropDownList("movieGenre", "All")
Run Code Online (Sandbox Code Playgroud)

编辑:

@Paul找到解决方案:

@Html.DropDownList("movieGenre", (SelectList)ViewBag.movieGenre, "Select genre", new { @class = "form-control" })
Run Code Online (Sandbox Code Playgroud)

感谢大家的帮助.

luc*_*old 17

您需要应用CSS类表单控件.试试这个:

@Html.DropDownList("movieGenre", "All", new { @class = "form-control"})
Run Code Online (Sandbox Code Playgroud)

还要尝试DropDownListFor,但必须显式设置模型属性:

@Html.DropDownListFor(model => model.MovieGenreModel, SelectList, new { @class = "form-control"})
Run Code Online (Sandbox Code Playgroud)

感谢@Paul的纠正.


您可能必须按如下方式扩展现有的HTML控件/更新重载/构造函数:

public static MvcHtmlString DropDownList(
    this HtmlHelper htmlHelper,
    string name,
    IEnumerable<SelectListItem> selectList,
    string optionLabel,
    object htmlAttributes  //     <--------------- You need to add this here
)
Run Code Online (Sandbox Code Playgroud)

有关更多帮助,请阅读有关MVC HTML帮助程序的信息,并查看:

  1. StackOverflow:在ASP.NET MVC中添加自己的HtmlHelper
  2. 在我们的ASP.NET MVC视图的下拉列表中显示枚举
  3. 检查ASP.NET MVC如何支持DropDownList Helper
  4. 使用自定义数据元素下拉列表
  5. StackOverflow:扩展方法中的HtmlAttributes - Bootstrap和MVC 5

另一种选择是看看 TwitterBootstrapMVC

  • 如果您使用 DropDownListFor,则需要指定模型属性...通常,@Html.DropDownListFor(model =&gt; model.Genre, SelectList, etc...) (2认同)