Html.EditorFor忽略我指定的类

时间:2012-10-23 12:01:32

标签: asp.net-mvc razor html-helper

我有一个类似的模型:

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定义(以及添加其自己的验证内容)

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

1 个答案:

答案 0 :(得分:9)

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

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

或者您可以使用TextBoxFor:

@Html.TextBoxFor(x => x.StartDate, new { @class = "input datepicker" }})