添加一个css类来select使用@ Html.DropDownList()
经过多年的webforms,我正在构build我的第一个MVC应用程序,出于某种原因,我无法做到这一点:
@Html.DropDownList("PriorityID", String.Empty, new {@class="textbox"} )
错误信息:
System.Web.Mvc.HtmlHelper<SPDR.Models.Bug>
'不包含DropDownList
的定义和最佳扩展方法System.Web.Mvc.Html.SelectExtensions.DropDownList(System.Web.Mvc.HtmlHelper, string, System.Collections.Generic.IEnumerable<System.Web.Mvc.SelectListItem>, object)
有一些无效的参数
任何帮助非常感谢!
看着控制器,并多了解MVC是如何工作的,我能够理解这一点。
我的看法是自动生成的一个,包含这行代码:
@Html.DropDownList("PriorityID", string.Empty)
要添加html属性,我需要做这样的事情:
@Html.DropDownList("PriorityID", (IEnumerable<SelectListItem>)ViewBag.PriorityID, new { @class="dropdown" })
再次感谢@劳伦特的帮助,我意识到这个问题并不是很清楚。
更新:
这样做的一个更好的方法是在可能的情况下使用DropDownListFor ,这样就不会依赖magicstring作为name属性
@Html.DropDownListFor(x => x.PriorityID, (IEnumerable<SelectListItem>)ViewBag.PriorityID, new { @class = "dropdown" })
由于错误消息的签名意味着第二个参数必须是IEnumerable,更具体地说,是SelectListItem的IEnumerable。 这是select的列表。 您可以使用SelectListtypes,它是SelectListItem的IEnumerable。 对于没有select的列表:
@Html.DropDownList("PriorityID", new List<SelectListItem>(), new {@class="textbox"} )
有几个select的列表:
@Html.DropDownList( "PriorityID", new List<SelectListItem> { new SelectListItem { Text = "High", Value = 1 }, new SelectListItem { Text = "Low", Value = 0 }, }, new {@class="textbox"})
也许这个教程可以帮助: 如何使用ASP.NET MVC创buildDropDownList
如果在Asp.Net MVC中添加了比参数ya dropdownlist更多的参数。 当你编辑logging或查看袋中的值。
使用这将是工作: –
@Html.DropDownList("CurrencyID",null,String.Empty, new { @class = "form-control-mandatory" })
你可以使用jQuery来做到这一点
$("select").addClass("form-control")
在这里,selectis-html标签,表单控件是类名称
@Html.DropDownList("SupplierId", "Select Supplier")
在这里,SupplierId是ViewBagList,select供应商是 – 显示名称
只需试试这个
@Html.DropDownList("PriorityID", (IEnumerable<SelectListItem>)ViewBag.PriorityID, new { @class="dropdown" })
但是,如果你想要一个默认值或没有选项值,那么你必须尝试这一个,因为String.Empty
将select没有值作为-select-
作为默认选项
@Html.DropDownList("PriorityID", (IEnumerable<SelectListItem>)ViewBag.PriorityID, String.Empty, new { @class="dropdown" })
尝试这个:
@Html.DropDownList( "country", new[] { new SelectListItem() { Value = "IN", Text = "India" }, new SelectListItem() { Value = "US", Text = "United States" } }, "Country", new { @class = "form-control",@selected = Model.Country} )
在构造函数中有一些选项,如果你没有dropdownLis,你想插入你可以使用的html类
@Html.DropDownList("Country", null, "Choose-Category", new {@class="form-control"})
在这种情况下,国家是您的下拉列表的名称,null是你没有从你的控制器通过任何通用列表“select – 类别”是select项目和最后一个在HTML类如果你不想select任何默认选项简单地用“”replace“select – 类别”
尝试下面的代码:
@Html.DropDownList("ProductTypeID",null,"",new { @class = "form-control"})
尝试这个
@Html.DropDownList("Id", null, new { @class = "ct-js-select ct-select-lg" })
你可以简单地做到这一点:
@Html.DropDownList("PriorityID", null, new { @class="form-control"})