EditorFor HTML helper不接受MVC中的类

时间:2016-06-09 11:10:57

标签: asp.net-mvc twitter-bootstrap asp.net-mvc-4

当我查看较旧的MVC项目时,以下代码将呈现具有适当样式的文本框:

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

但是现在使用的是JQueryUI而不是Bootstrap,我不得不再次手动添加Bootstrap并在我的代码中添加了相同的行,但是该类不会渲染。

使它工作的唯一方法似乎是使用:

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

HTML帮助器。

EditorFor和TextBoxFor之间是否存在很大差异?如果使用EditorFor而不是TextBoxFor很重要,我如何通过EditorFor HTML帮助器将Bootstrap类form-control添加到呈现的输入中?导致这种情况的原因是,使用HTML帮助程序不能在输入元素上呈现类?

1 个答案:

答案 0 :(得分:1)

TextBoxFor:始终呈现为输入文本框,无论该属性的数据类型是否与控件绑定。它会创建如下文本输入:<input type="text" />

EditorFor:它根据属性的数据类型呈现HTML标记。

两者都将生成相同的标记。

您还可以在此帖中看到解释:https://stackoverflow.com/a/4826185/3401842