正如另一位用户提到的,没有yyy
格式。yy
分别为2或yyyy
4 位年份。
此外,DataFormatString
需要令牌索引(如 a String.Format
),因此不仅仅是日期输出,而是将其包装在令牌语法中:
[DisplayFormat(DataFormatString = "{0:dd-MMM-yyyy}", ApplyFormatInEditMode = true)]
此外,如果你真的想要更多的控制(而不是反对使用 jQuery-UI),你可以创建一个编辑模板DateTime
并使用DatePicker控件:
~/Views/Shared/EditorTemplates/DateTime.cshtml
@model DateTime?
@Html.TextBox(String.Empty, String.Format("{0:dd-MMM-yyyy}", Model.HasValue ? Model : DateTime.Today), new { @class = "datepicker"})
然后你必须在页面中引用 jQuery 和 jQuery-UI 并在某处添加以下内容:
<script type="text/javascript">
$(function(){
$('.datepicker').datepicker({
dateFormat: 'dd-M-yy' // http://api.jqueryui.com/datepicker/#utility-formatDate
});
});
</script>
然后,在您看来,参考@Html.EditorFor(x => x.SubmittedToDateTime)