当我查看较旧的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帮助程序不能在输入元素上呈现类?
答案 0 :(得分:1)
TextBoxFor
:始终呈现为输入文本框,无论该属性的数据类型是否与控件绑定。它会创建如下文本输入:<input type="text" />
EditorFor
:它根据属性的数据类型呈现HTML标记。
两者都将生成相同的标记。
您还可以在此帖中看到解释:https://stackoverflow.com/a/4826185/3401842