在我看来,我有文本框和下拉菜单,我正在尝试添加一个类,以便我可以将bootstrap主题应用到我的字段。这是我的代码:
<div class="form-group">
@Html.LabelFor(model => model.ID, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("ID", String.Empty)
@Html.ValidationMessageFor(model => model.ID)
</div>
</div>
如何向此class="from-controller"
声明类我尝试了此@Html.DropDownList("ID", new {class="test"})
但是我收到了错误消息。任何人都可以告诉我原因。
答案 0 :(得分:1)
DropDownList Method的第二个参数是IEnumerable<SelectListItem>
,因此您的下拉列表必须如下所示:
@Html.DropDownList("ID", new SelectList(Model.CollectionOfIds, "DataValueField", "DataTextField"),
new { @class= "from-controller" })
答案 1 :(得分:0)
第一个参数是名称而不是ID。如果要指定id,则必须以指定类的方式执行。
@Html.DropDownList("ddlName", new SelectList(Model.Items, "Key", "Value"), "Please select", new { @class = "className", @id="yourId" })
新的SelectList(Model.Items,&#34; Key&#34;,&#34; Value&#34;)适用于
Dictionary<int, string>
型
答案 2 :(得分:0)
首先:
class是c#语言的保留关键字。如果你想在C#中使用像变量名这样的保留关键字,你应该把变量名之前的 @ 符号放到编译器中,忽略它也是一个关键字的事实。
在您的情况下,您必须在课程关键字
之前添加 @new {@class="test"})
第二名:
没有Html.DropDownList(字符串,字符串)或Html.DropDownList(字符串,字符串,对象)的定义
第二个参数必须是IEnumerable
如果你想设置一个空列表(我不会低估为什么你设置一个String.Empy值)使用Enumerable.Empty()
@Html.DropDownList("ID", Enumerable.Empty<SelectListItem>())