我有一个类似的模型:
public class MyModel {
public string Name {get; set;}
public DateTime StartDate {get; set;}
}
然后,在我的Razor视图中,我有这个:
@Html.EditorFor(x => x.StartDate, new { @class = "input datepicker" })
但输出的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">
这似乎完全忽略了我的@class
定义(以及添加其自己的验证内容)
有没有办法让我用指定的类进行渲染?
答案 0 :(得分:9)
您无法为EditorFor设置类。您可以在此模板中包含许多不同的标记。因此,您需要在编辑器模板中分配类:
<div>
@Html.TextBoxForModel(x => x.StartDate, new { @class = "input datepicker" })
</div>
或者您可以使用TextBoxFor:
@Html.TextBoxFor(x => x.StartDate, new { @class = "input datepicker" }})