MVC3 MvcContrib网格过滤日期验证

时间:2011-11-17 13:05:17

标签: jquery asp.net-mvc-3 jquery-ui c#-4.0

我已按照here所述设置了一个带分页和过滤功能的MvcContrib网格。这一切都很有效,除非我尝试按日期添加过滤。

我的网络配置包括:

<globalization
   uiCulture="en-GB"
   culture="en-GB"
/>

我正在使用jquery datepicker输入日期:

<script type="text/javascript">
    $(function () {
        if (!Modernizr.inputtypes.date) {
            $.getScript("/Scripts/jquery-ui-1.8.11.min.js", function () {
                $("input[type='datetime']").datepicker({ dateFormat: "dd/mm/yy" });
            });
        }
    });
</script>

在过滤器中输入数据期间,日期显示为dd / mm / yy。 它们在控制器中显示为dd / mm / yy。 但在验证中,它们被视为mm / dd / yy。

有没有人有任何想法?

2 个答案:

答案 0 :(得分:1)

我有同样的问题配偶:JQuery Datepicker Will not post with UK date string

就个人而言,我放弃并使用javascript验证,并禁用不引人注意的jquery,我认为冲突来自哪里。

虽然我的问题主题上的海报以这种方式指出,但这可能很有用:

http://www.hanselman.com/blog/GlobalizationInternationalizationAndLocalizationInASPNETMVC3JavaScriptAndJQueryPart1.aspx

答案 1 :(得分:1)

由于链接到Scott Hanselman的博客,回到这个问题并使其正常工作。

首先我从Nuget下载了jquery.global插件。然后我将以下行添加到我的_layout.cshtml

<script src="../../Scripts/jquery.globalize/globalize.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.globalize/cultures/globalize.culture.en-GB.js" type="text/javascript"></script>

这是web.config的system.web部分:

<globalization
   uiCulture="en-GB"
   culture="en-GB"
/>

这让它对我有用。