MVC 4 EditorFor / TextBoxFor和日期字段

时间:2013-07-11 20:13:21

标签: asp.net-mvc asp.net-mvc-4 razor

NweBee在这里......我们如何使用MVC 4在具有特定宽度的输入框中显示和编辑日期时间字段的日期部分?我们似乎能够通过在EditorFor中使用Date编辑器模板来获取Date部分,并且可以在TextBoxFor中使用class =“width ..设置宽度,但似乎无法同时获得两者。

2 个答案:

答案 0 :(得分:2)

您可以将格式指定为@Html.TextBoxFor,如下所示:

@Html.TextBoxFor(m => m.Date, "{0:dd/MM/yyyy}", new { @class = "width-xx" })

您还可以在this guide之后为DateTime字段实现自定义编辑器模板,并在新模板中包含您的自定义CSS类。如果您需要在整个应用程序或特定控制器中使用相同的样式,那么此解决方案很不错。

答案 1 :(得分:0)

一种方法是将@Html.EditorFor()包装在div中,然后通过选择包含div中的输入来应用样式。

<div class="editorfordate">
    @Html.EditorFor(m=>m.MyDate)
</div>

和CSS:

.editorfordate > input {
    width: 34px; /* or whatever you want */
}

更好的方法是实现自定义的EditorFor-template,这样每次使用@Html.EditorFor()帮助程序时,都会自动创建额外的包装器div。