DateTime模型绑定asp.net mvc

时间:2013-08-16 14:55:22

标签: asp.net-mvc asp.net-mvc-3

Windows中的哪个设置决定了模型绑定器如何为模型提供水合作用,因为前端的日期时间为字符串,如下所示:

27%2F11%2F2012+16%3A09%3A01.21%2F03%2F2013+13%3A51%3A00

在一个部署环境中,如果前两个数字大于12,我将获得ModelState.IsValid == false(即它假定为几个月而不是几天)。

1 个答案:

答案 0 :(得分:2)

计算机将根据其区域解析日期(根据操作系统,它会在控制面板中的各个位置进行设置)。如果您的两台机器具有不同的区域设置,则会出现摩擦,因为不同的区域出现日期不同(英国的dd / mm / yyyy,美国的mm / dd / yyyy)。您可以通过配置web.config来覆盖该设置,以帮助实现一致性。

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

我建议的另一个选项是以通用日期时间格式保存网络表单控件的值:例如2008年1月1日星期二00:00:00 GMT。无论您的机器区域如何,都将正确解析。