我有一个文本框,我在其中设置了attibute css rounded
类。
我使用此代码:
@Html.TextBoxFor(m => m.level, new { @class = "form-control rounded", @placeholder = "Level" })
当我运行浏览器时,将其渲染为:
<input class="form-control rounded" id="level" name="level" placeholder="Level" type="text" " />
如果我改为:
@Html.EditorFor(m => m.level, new { @class = "form-control rounded", @placeholder = "Level" })
浏览器重新定位为:
<input class="text-box single-line" id="level" name="level" placeholder="Level" />
有一种方法可以rounded
使用@Html.EditorFor
吗?
使用@Html.EditorFor
有什么好处?
答案 0 :(得分:1)
TextBoxFor:它将呈现与指定表达式对应的文本输入html元素。简单来说,它总是像输入文本框一样呈现,而不管属性的数据类型是否与控件绑定。
EditorFor:这个控件有点聪明。它根据属性的数据类型呈现HTML标记。例如。假设模型中有一个布尔属性。要在视图中将此属性呈现为复选框,我们可以使用CheckBoxFor或EditorFor。两者都将生成相同的标记。
使用EditorFor有什么好处?
我们知道,根据属性的数据类型,它会生成html标记。所以假设我们明天改变模型中属性的数据类型,不需要在视图中更改任何内容。 EditorFor控件将自动更改html标记。
答案 1 :(得分:0)
我认为这就是你要找的东西:
@Html.EditorFor(m => m.level, new { htmlAttributes = new { @class = "form-control rounded", @placeholder = "Level" }})