twitter-bootstrap-3 – MVC5和Bootstrap3:Html.EditorFor错误的类?如何改变?

我刚刚注意到,使用EditorFor时,MVC 5正在为输入字段使用不同的类.我认为它是从较低版本的bootstrap,所以目前的类并没有真的加起来.

我在说这个:

<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>

结果是这样的:

<div class="form-group">
    <label class="control-label col-md-4" for="Contact_CellphoneNo">CellphoneNo</label>
    <div class="col-md-8">
        <input class="text-Box single-line" id="Contact_CellphoneNo" name="Contact.CellphoneNo" type="text" value="">
        <span class="field-validation-valid" data-valmsg-for="Contact.CellphoneNo" data-valmsg-replace="true"></span>
    </div>
</div>

当你看标签时,它有一个“文本框”类而不是Bootstrap3的“form-control”

我想我在某处找到这是由于MVC5在最后一分钟切换到Bootstrap 3的事实.

问题是:如何手动更改该类?我想要将文本框更改为表单控件.我真的找不到代码.

我也试过了

@Html.EditorFor(model => model.CivilStatus,new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.CivilStatus)

哪个似乎不起作用我被困了有任何想法吗?

提前致谢!

解决方法

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

使用TextBoxFor代替

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

编辑

从MVC 5.1开始,HTML属性可以使用这种语法传递给EditorTemplate

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

相关文章

Bootstrip HTML 查询搜索常用格式模版 &lt;form class=&...
如何在按钮上加红色数字 您可以使用Bootstrap的badge组件来在...
要让两个按钮左右排列,你可以使用 Bootstrap 的网格系统将它...
是的,可以将status设置为布尔类型,这样可以在前端使用复选...
前端工程师一般用的是Bootstrap的框架而不是样式,样式一般自...
起步导入:<linkrel="stylesheet"href="b...