如何指定模型绑定的日期格式?

时间:2010-09-16 10:52:03

标签: datetime asp.net-mvc-2

我希望这个问题很容易,但是我要搜索一个多小时,我找不到答案。所以我有一个asp.net mvc 2应用程序,其中一个表单包含一个带有jquery datepicker的日期文本框。我在datepicker中设置了日期格式为dd.mm.yyyy。我的问题是,在模型绑定上,此日期被解释为mm.dd.yyyy,因此当模型到达我的操作方法时,模型的DateTime属性不正确(如果不可能,则日期和月份相反)反转它客户端验证不让我保存项目)。我不想改变文化,但我想以某种方式指定模型绑定器如何解释日期。有可能吗?

非常感谢

2 个答案:

答案 0 :(得分:9)

This blog post解释了如何指定MVC模型绑定器使用的特定日期格式。

您需要创建一个知道日期格式的自定义模型绑定器实现,然后将其与Global.asax.cs中的DateTime类型相关联:

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

答案 1 :(得分:2)

您可以在这里找到问题的答案

Custom DateTime model binder in Asp.net MVC

Scott Hanselman也谈到了这里的DateTime自定义模型绑定器

http://www.hanselman.com/blog/SplittingDateTimeUnitTestingASPNETMVCCustomModelBinders.aspx

虽然他正在使用活页夹分割日期&在创建自定义模型装订器时,他的帖子可能会有用。