微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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" } })

原文地址:https://www.jb51.cc/bootstrap/234088.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐