正如另一位用户提到的,没有yyy
格式。分别为yy
或yyyy
两位或四位数年份。
此外,DataFormatString
需要标记索引(如String.Format
),因此而不仅仅是输出日期,敷在标记语法:
[DisplayFormat(DataFormatString = "{0:dd-MMM-yyyy}", ApplyFormatInEditMode = true)]
另外,如果你真的希望有更多的控制(和不反对使用jQuery UI的),你可以为DateTime
创建一个编辑模板,并使用DatePicker控制:
〜/查看/共享/ 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)
是什么文化你的应用程序在运行? –
你认为这是正确的格式? {dd-MMM-yyy}它应该有“yyyy”而不是 –
另外,我相信你需要引用格式中的标记索引? (例如'{0:dd-MM-yyyy}') –