我希望这个问题很容易,但是我要搜索一个多小时,我找不到答案。所以我有一个asp.net mvc 2应用程序,其中一个表单包含一个带有jquery datepicker的日期文本框。我在datepicker中设置了日期格式为dd.mm.yyyy
。我的问题是,在模型绑定上,此日期被解释为mm.dd.yyyy
,因此当模型到达我的操作方法时,模型的DateTime属性不正确(如果不可能,则日期和月份相反)反转它客户端验证不让我保存项目)。我不想改变文化,但我想以某种方式指定模型绑定器如何解释日期。有可能吗?
非常感谢
答案 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
虽然他正在使用活页夹分割日期&在创建自定义模型装订器时,他的帖子可能会有用。