2010-09-16 74 views
15

我希望这个问题很简单,但我在四处搜寻了一个多小时,而我却找不到答案。所以我有一个asp.net mvc 2应用程序,其中一个表单包含一个jQuery日期选择器的日期文本框。我已在datepicker中设置日期格式为dd.mm.yyyy。我的问题是,在模型绑定这个日期被解释为mm.dd.yyyy,所以等到模型到达我的动作方法时,模型的DateTime属性是不正确的(日期和月份是颠倒的,如果它是不可能扭转它的客户端端验证不会让我保存该项目)。我不想改变文化,但我想以某种方式指定模型联编程序如何解释日期。以某种方式可能吗?如何指定模型绑定的日期格式?

非常感谢

回答

7

This blog post说明如何指定MVC模型绑定器要使用的特定日期格式。

您需要创建一个自定义的模型绑定实现,它是知道的日期格式,那么相关联,与DateTime类型在你的Global.asax.cs:

protected void Application_Start() 
{ 
    //... 
    var binder = new DateTimeModelBinder(GetCustomDateFormat()); 
    ModelBinders.Binders.Add(typeof(DateTime), binder); 
}