我想更改@ 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")]在您的模型中是多余的,因为默认显示名称是变量名称本身。

10-02 01:57
查看更多