Html.EditorFor忽略我指定的类

Ale*_*lex 6 asp.net-mvc html-helper razor

我有一个模型:

public class MyModel {
    public string Name {get; set;}
    public DateTime StartDate {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

然后,在我的Razor视图中,我有这个:

@Html.EditorFor(x => x.StartDate, new { @class = "input datepicker" })
Run Code Online (Sandbox Code Playgroud)

但输出的HTML看起来像这样:

<input class="text-box single-line" data-val="true" 
 data-val-required="The StartDate field is required." id="StartDate" 
 name="StartDate" type="text" value="01/01/0001 00:00:00">
Run Code Online (Sandbox Code Playgroud)

它似乎完全忽略了我的@class定义(以及添加其自己的验证内容)

有没有办法使用我指定的类进行渲染?

Max*_*Max 9

您无法为EditorFor设置类.您可以在此模板中包含许多不同的标记.所以你需要在编辑器模板中分配类:

<div>
    @Html.TextBoxForModel(x => x.StartDate, new { @class = "input datepicker" })
</div>
Run Code Online (Sandbox Code Playgroud)

或者您可以使用TextBoxFor:

@Html.TextBoxFor(x => x.StartDate, new { @class = "input datepicker" }}) 
Run Code Online (Sandbox Code Playgroud)