Twitter bootstrap 3 MVC5和Bootstrap3:Html.editor用于错误的类?如何改变?

Twitter bootstrap 3 MVC5和Bootstrap3:Html.editor用于错误的类?如何改变?,twitter-bootstrap-3,asp.net-mvc-5,asp.net-mvc-5.1,Twitter Bootstrap 3,Asp.net Mvc 5,Asp.net Mvc 5.1,我刚刚注意到MVC5在使用EditorFor时,对输入字段使用了不同的类。我认为它是从一个较低版本的引导,所以当前的类并没有真正加起来 我说的是: <div class="form-group"> @Html.LabelFor(model => model.Contact.CellphoneNo, new { @class = "control-label col-md-4"}) <div class="col-md-8">

我刚刚注意到MVC5在使用EditorFor时,对输入字段使用了不同的类。我认为它是从一个较低版本的引导,所以当前的类并没有真正加起来

我说的是:

<div class="form-group">
    @Html.LabelFor(model => model.Contact.CellphoneNo, new { @class = "control-label col-md-4"})
       <div class="col-md-8">
           @Html.EditorFor(model => model.Contact.CellphoneNo)
           @Html.ValidationMessageFor(model => model.Contact.CellphoneNo)
       </div>
</div>
这似乎不起作用。我被难住了。有什么想法吗


提前谢谢

EditorFor不接受HTML属性作为参数。您使用的参数实际上是
additionalViewData

改为使用TextBoxFor

@Html.TextBoxFor(m => m.UserName, new { @class = "form-control" })
编辑

从MVC5.1开始,可以使用此语法将HTML属性传递给EditorTemplate

@Html.EditorFor(m => m.UserName, new { htmlAttributes = new { @class = "form-control" } })

如果您使用的是MVC 5或更早版本,请使用
@Html.TextBoxFor
而不是
@Html.EditorFor
,如下代码所示:

@Html.TextBoxFor(model => model.CivilStatus,new { @class = "form-control" }
如果还必须绑定knockout.js modelview属性,则:

@Html.TextBoxFor(model => model.CivilStatus, new { data_bind="value: author.civilStatus", @class = "form-control" })
我在MVC4中使用了这个,它对我很有用:

@Html.TextBoxFor(model => model.FirstName, new { data_bind="value: author.firstName", @class = "form-control" })

嗨@LostInComputer!谢谢你的意见。TextBoxFor是否具有与EditFor相同的功能?请参见此。每个人的答案都是正确的。谢谢你!:)正是我需要的
@Html.TextBoxFor(model => model.CivilStatus, new { data_bind="value: author.civilStatus", @class = "form-control" })
@Html.TextBoxFor(model => model.FirstName, new { data_bind="value: author.firstName", @class = "form-control" })