jQuery 日期选择器传递 01/01/0001 12 :00:00 AM

标签 jquery .net asp.net-mvc jquery-ui jquery-ui-datepicker

我在这样的 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/

相关文章:

.net - 在静态函数中获取命名空间

c# - 静态方法的依赖注入(inject)

javascript - 来自 JavaScript Split 函数的意外行为 (Chrome/Firefox)

c# - ASP.NET Grid中的jquery幻灯片效果

javascript - React.js 通过 create-react-app 与 ASP MVC 集成

asp.net-mvc - 使用 MVC 5 进行用户身份验证,无需 EF

.net - ASP.NET MVC 2 中是否可以嵌套区域?

javascript - 如何解析在另一个文档中声明的 javascript 变量?

javascript - 表单提交时停止页面重定向

.net - 确定是否在没有System.Web的ASP.NET或WinForms/控制台中运行