【发布时间】:2012-04-04 03:35:12
【问题描述】:
我正在使用 jQuery 的 datepicker 和 asp.net MVC4。 datepicker 在 Firefox 中工作,但在 IE7 中,我通过 asp.net 的验证获得该字段不是日期的消息。
这是日期选择器的代码
if (!Modernizr.inputtypes.date) {
$(function() {
$.datepicker.setDefaults($.datepicker.regional['en-GB']);
$(".datefield").datepicker();
});
}
这是我在 Web.config 中的全球化设置
<globalization uiCulture="en-GB" culture="en-GB" />
例如在 Firefox 中,日期显示为“19/03/2012”字符串,并被 asp.net 的验证设置(客户端和服务器端)接受。在 IE7 中,客户端不接受相同的日期字符串。如果我将其更改为“2012 年 3 月 19 日”,则客户端接受日期,但服务器会抛出异常 - “InvalidOperationException。可空对象必须有一个值。”
我的 viewModel 使用了一个可以为空的 DateTime,我在控制器发布操作中将它转换为一个不可为空的 DateTime。这在 Firefox 中有效,但在 IE7 中 viewModel 中的日期值为空。有什么问题?
【问题讨论】:
-
Darin Dimitrov 有正确答案,但也请看我的教程asp.net/mvc/tutorials/javascript/…
-
谢谢你,我已经使用你的优秀教程来完成日期选择器。但它不处理全球化问题。
标签: asp.net-mvc jquery-ui validation datetime datepicker