我在这样的 View 模型中有一个 DateOfBirth 字段,
[Required]
[DataType(DataType.Date)]
[Display(Name = "Date Of Birth")]
public DateTime DateOfBirth { get; set; }
以及具有此功能的 View ,
<li>
@Html.LabelFor(m => m.DateOfBirth)
@Html.TextBoxFor(m => m.DateOfBirth)
</li>
以及一些用于添加日期选择器的 jQuery,
<script type="text/javascript">
$('#DateOfBirth').datepicker({
yearRange: '1906:1994',
changeMonth: true,
changeYear: true,
showAnim: 'bounce'
});
</script>
如果我选择诸如 07/19/1981、1981 年 7 月 19 日之类的日期,它会将值作为 01/01/0001 12:00:00 AM 传递到 Controller 中,并收到错误“值 '07/19/1981' 对于出生日期无效。”我注意到,如果当天的值是 12 或更少,它就会通过,但如果当天的值高于 12,它将失败。所以我尝试将日期选择器中的格式更改为
dateFormat: 'dd/mm/yy'
然后,当我提交表单时,出现错误“出生日期字段必须是日期。”
我需要做什么来解决这个问题?如果可能的话,我希望能够将日期显示为月/日/年。
最佳答案
尝试使用这样的日期时间选择器:
$("#StartDate").datetimepicker({ timeFormat: 'hh:mm:ss', dateFormat: 'dd.mm.yy' });
您可以包含此 link 中的时间选择器。我认为您提供的格式是错误的,请检查 MSDN 以获得正确的日期时间格式字符串,但在我的情况下有效。 您还可以向日期选择器添加正确的格式。
关于jQuery 日期选择器传递 01/01/0001 12 :00:00 AM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11171483/