更改dateformat会在数据库中输入错误的日期

时间:2013-02-12 10:48:43

标签: javascript jquery asp.net-mvc html-helper

我正在开发一个MVC应用程序,我在其中使用datepicker(jquery)添加日期和编辑日期。

想要用户的dateformat为dd / mm / yyyy,但是当我像这样设置dateformat时;在数据库中,它像01/01/0001。在调试时,我发现Null值正被传递给控制器​​。

我在模型类中的代码:

[Display(Name = "Deadline")] [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] public DateTime Deadline { get; set; }

在视图中:

<script type="text/javascript"> $(function () { $("#Deadline").datepicker ({ dateFormat: "dd/mm/yy" }); }); </script>

<%: Html.EditorFor(model => model.Deadline) %>

2 个答案:

答案 0 :(得分:1)

尝试将此添加到具有国家/地区全球化价值的web.config文件...

<system.web>
    <globalization culture="en-GB" uiCulture="en-GB" />
  </system.web>

以及观点方面的内容......

$("#Deadline").datepicker({
                showOn: "both",
                dateFormat: 'dd/mm/yy',
                changeMonth: true,
            });

之前我遇到过类似的问题,但在db方面我使用string作为数据类型来存储.. 让我知道它是否有效

答案 1 :(得分:0)

我找到了像

这样的问题的解决方案

在Web配置中:

<system.web>
    <globalization culture="en-GB" uiCulture="en-GB" />
  </system.web>

在Modlel课程中:

[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime Deadline { get; set; }

在视图中:

        $(function () {
            $("#Deadline").datepicker
            ({
                dateFormat: "dd/mm/yy"
            });
        });