我想更改@ Html.EditorFor字段的类/样式。我读了一些有关自定义模板的内容,但是我的项目中没有模板文件夹(Views / Shared / ONLY_FILES_HERE)。可悲的是,我不使用MVC 5.1。
另外,由于inputvalidation,我也不想使用TextBoxFor。
我该如何实现?
这是我的模型的一个片段:
public class CreateTableColumnModels
{
[RegularExpression(@"^[A-Za-z0-9]+$", ErrorMessage = "Use letters and numbers only please")]
[Display(Name = "Name")]
public string Name { get; set; }
我尝试了这个:
@model QlikViewStammdaten.Models.CreateTableColumnModels
<div>
@Html.EditorFor(x => Model.Name, new { @class = "form-control" })
</div>
最佳答案
如注释中已经提到的,最好将一个类添加到Html.TextBoxFor
而不是@Html.EditorFor
中。为什么?因为@Html.EditorFor
呈现了一个模板,并且该模板可以包含多个控件(现在要将类添加到其中的哪个控件中?)...请参见Adding a class to EditorFor
如果要数字类型,请添加@type = "number"
@Html.TextBoxFor(m => m.Name, new { @class = "form-control", @type = "number" })
注意:不是
x => Model.Name
而是m => m.Name
我确定您已经知道这一点,但是
[Display(Name = "Name")]
在您的模型中是多余的,因为默认显示名称是变量名称本身。