C# 远程计算机中的日期区域性问题

C# 远程计算机中的日期区域性问题,c#,asp.net-mvc,datetime,cultureinfo,C#,Asp.net Mvc,Datetime,Cultureinfo,我在西班牙机器上编写了一个ASP.NET MVC应用程序,所以我的日期是(dd/mm/yyyy) 但我的远程VP使用的是en US W2k8,因此当我在该机器中创建日期时,它将是(mm/dd/yyyy) 我不确定解决这个问题的正确方法是什么 我有一个注册表表单,它采用类型为(dd/mm/yyyy)的字符串并将其发送给控制器。我猜模型绑定器创建了一个新的日期时间,它将被发送到控制器,因为如果我(在远程)插入类似2011年10月31日的内容,它会说日期不正确,所以当模型绑定器尝试创建日期时间时,它会

我在西班牙机器上编写了一个ASP.NET MVC应用程序,所以我的日期是(dd/mm/yyyy)

但我的远程VP使用的是en US W2k8,因此当我在该机器中创建日期时,它将是(mm/dd/yyyy)

我不确定解决这个问题的正确方法是什么

我有一个注册表表单,它采用类型为(dd/mm/yyyy)的字符串并将其发送给控制器。我猜模型绑定器创建了一个新的日期时间,它将被发送到控制器,因为如果我(在远程)插入类似2011年10月31日的内容,它会说日期不正确,所以当模型绑定器尝试创建日期时间时,它会哭

所以我需要一种方法来指定(我想这将是全球性的)我所有的日期都是dd/mm/yyyy。因此,当模型绑定器创建新日期时,它将使用该格式


我怎么做到的?我认为这在将来会有问题,因为我也想将我的应用程序本地化为英语,而英语用户将使用mm/dd/yyyy。

我对MVC3没有任何实际经验,但从高层次上讲,你的问题很小。 在将请求绑定到模型对象之前,您当前的线程区域性需要与客户端的线程区域性相匹配。有不同的方法,但最明显的是:

1) 将应用程序拆分为顶级区域性子文件夹。也就是说,将您的/my_url/转换为/en/my_url/、/sp/my_url/等。使用相关的区域性设置将一个Web.config放入其中。 这可能比你想投入的更多

2) 使用表单数据发布区域性信息,并在绑定之前拦截它。我确信在执行控制器操作之前,您可以处理某种事件。根据post参数,可以抛出一个1行程序来设置当前线程区域性


可能有一种方法可以基于请求映射将这两者结合起来。类似于/{language}/my_url/的东西。就像我说的,我并没有真正使用MS版本的MVC设计模式来了解它的技术细节。

您可以在web配置文件中指定区域性