@ Html.EditorFor中的属性css

时间:2016-06-24 18:26:54

标签: html css asp.net-mvc

我有一个文本框,我在其中设置了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有什么好处?

2 个答案:

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