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