Red*_*wan 1 datetime asp.net-mvc-2
我已经开发了asp.net mvc 2 + C#应用程序。它具有创建功能,其中有日期时间字段。如果我在本地运行该应用程序,则运行正常。但是,如果我将其部署在IIS服务器(v 5.1)上,接受的日期不超过12(如果给出14/10/2010),则无法使用),这意味着它将在iis上以MM的形式在运行时更改日期格式/ dd / yyyy。但是在插入代码中,我通过此行将“ dd / MM / yyyy”格式转换为:
objRecord.NextElectionDate = DateTime.ParseExact(collection [“ NextElectionDate1”],“ dd / mm / yyyy”,null);
我检查了区域设置,这与我在本地运行应用程序(美国文化)的位置相同。没有任何异常退出。我也尝试在iis 6.0上部署应用程序,该应用程序运行良好。但是在客户端有可用的IIS 5.1版本,因此必须以某种方式在IIS 5.1上运行该应用程序。这是IIS版本的问题吗?如何解决这个问题?
编辑1:

我有这样的代码:

编辑2:您好!当我调试应用程序时,我正在获取ModelState.IsValid为“ false”,同时尝试在“ Create” Action上插入人员信息。如何知道ModelState.IsValid中出了什么问题?为什么它会变得“假”?请指导
小智 5
我刚在服务器上遇到此错误,并且更改了web.confg中的区域性。我在英国,所以我把:
<globalization
requestEncoding="iso-8859-1"
responseEncoding="iso-8859-1"
culture="en-GB" uiCulture="en-GB" />
Run Code Online (Sandbox Code Playgroud)
在<system.web>节点下。
小智 5
using System.Globalization;
using System.Threading;
protected void Application_BeginRequest(Object sender, EventArgs e)
{
CultureInfo newCulture = (CultureInfo)
System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
newCulture.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy";
newCulture.DateTimeFormat.DateSeparator = "-";
Thread.CurrentThread.CurrentCulture = newCulture;
}
Run Code Online (Sandbox Code Playgroud)
将此代码放在 global.asax.cs 文件中。希望这会运行