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

前端之家收集整理的这篇文章主要介绍了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" } })

猜你在找的Bootstrap相关文章