【问题标题】:How to specify date format for model binding?如何为模型绑定指定日期格式?
【发布时间】:2015-02-23 22:31:47
【问题描述】:

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

非常感谢

【问题讨论】:

    标签: datetime asp.net-mvc-2


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      Custom DateTime model binder in Asp.net MVC

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

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

      虽然他使用活页夹来分割日期和时间,但您可能会在创建自定义模型活页夹时使用他的帖子。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-07-04
        • 1970-01-01
        • 1970-01-01
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 2021-07-14
        相关资源
        最近更新 更多