2010-09-12 81 views
3

我有MS SQL在我的本地开发服务器和生产服务器。我的本地服务器的DateTime格式为“mm/dd/yyyy”,但生产服务器中的格式为“dd/mm/yyyy”。在我的本地服务器中,每件事都能正常工作,但是当我尝试在我的生产服务器中输入“05/31/2010”之类的日期时,模型验证投出了错误“The value '05/31/2010'无效....“因为月份不能大于12.我不想在任何一台服务器中更改日期时间。有人可以告诉我一种方法来摆脱这个问题,以便在我的两台服务器中一切正常。ASP MVC日期时间问题模型验证问题

回答

0

我认为this article可能是你以后,与本地化如何模型绑定工作方面。

您不清楚您输入数据的位置,但我建议您明确地告诉用户以一种特定格式输入日期,或者使用日历选取器,或者分隔UI中的三个字段。基本上不要把它弄糊涂 - 你让用户采取一种格式,而不是你实际使用的格式。

注意,所有这一切,随时随地获取附近的数据库之前,必须做得很好 - 你数据库的格式应该是无关紧要的,因为你应该使用它永远只能对付DateTimeDateTimeOffset的时间参数化查询相关值。

+0

我有一个jQuery的日期选择器,其获取的日期在“MM/DD/YYYY”格式和我使用的ASP MVC 2。我在想,如果有反正知道是什么格式的SQL服务器设置为,然后接受日期格式在运行时。可以这样做吗? – Johnson 2010-09-12 15:14:26

1

你可以尝试添加Globalization元素到Web.config - 配置>的System.Web:

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

我有一个类似的问题 - 但无可否认,作为一个英国人,反向 - 这固定问题。