C# 更改@Html.EditorFor/customize template的类| ASP.NET MVC 4

C# 更改@Html.EditorFor/customize template的类| ASP.NET MVC 4,c#,css,asp.net-mvc,editorfor,C#,Css,Asp.net Mvc,Editorfor,我想更改my@Html.EditorFor字段的类/样式。我读了一些关于自定义模板的内容,但是我的项目中没有模板文件夹(这里是Views/Shared/ONLY_FILES_)。遗憾的是,我没有使用MVC5.1 另外,由于inputvalidation,我不想使用TextBoxFor 我怎样才能做到这一点 以下是我的模型的一个片段: public class CreateTableColumnModels { [RegularExpression(@"^[A-Za-z0-9]+$", E

我想更改my@Html.EditorFor字段的类/样式。我读了一些关于自定义模板的内容,但是我的项目中没有模板文件夹(这里是Views/Shared/ONLY_FILES_)。遗憾的是,我没有使用MVC5.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>
@model QlikViewStammdaten.Models.CreateTableColumnModels
@EditorFor(x=>Model.Name,新的{@class=“form control”})

如评论中所述,最好在
Html.TextBoxFor
中添加一个类,而不是
@Html.EditorFor
。为什么?因为
@Html.EditorFor
呈现一个模板,而该模板可能包含多个控件(现在要将类添加到其中的哪个控件?)。。。看

如果需要数字类型,请添加
@type=“number”

注意:它不是
x=>Model.Name
而是
m=>m.Name


我相信您已经知道这一点,但是在您的模型中,
[Display(Name=“Name”)]
是多余的,因为默认的显示名称是变量名本身。

已经尝试过:@Html.EditorFor(x=>x.MyProperty,new{htmlAttributes=new{@class=“MyCssClass”})只需在Views/Shared文件夹中创建Editor/DisplayTemplates文件夹并添加一个。cshtml@PrashantPimpale是的,它适用于>=MVC 5.1看看:使用
TextBoxFor
有什么问题?(无论如何,它们最终调用的代码都是相同的)。验证也没有问题。
@Html.TextBoxFor(m => m.Name, new { @class = "form-control", @type = "number"  })