C# 更改@Html.EditorFor/customize template的类| ASP.NET MVC 4
我想更改my@Html.EditorFor字段的类/样式。我读了一些关于自定义模板的内容,但是我的项目中没有模板文件夹(这里是Views/Shared/ONLY_FILES_)。遗憾的是,我没有使用MVC5.1 另外,由于inputvalidation,我不想使用TextBoxFor 我怎样才能做到这一点 以下是我的模型的一个片段: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
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" })