使用日期选择器将日期插入数据库

Using datepicker to insert date into database

我是 asp.net MVC 5 的新手。 我的数据库中有一个类型为 DateTime 的列,我想使用 datepicker 将日期插入其中。但是,它给了我一个错误。 the error

我的模型是这样的

[Display(Name = "Found Date")] public System.DateTime foundDate { get; set; }

我的观点是

    <div class="form-group">
        @Html.LabelFor(model => model.foundDate, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.foundDate, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.foundDate, "", new { @class = "text-danger" })
        </div>
    </div>

脚本

$(document).ready(function () { $("#foundDate").datepicker( {dateformat: 'dd/MM/yyyy'} ); });

应该将哪种日期格式传递给数据库中的日期时间?我如何更改它以使其与日期选择器的 return 类型相匹配?

如能帮助解决此问题,我们将不胜感激。

您配置了它

$("#foundDate").datepicker( {dateformat: 'dd/MM/yyyy'} );

但输入在 MM/dd/yyyy.

您可以尝试使用 DataAnnotaions 指定日期时间格式

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]

而且您还可以使用传统的 HTML5 日期时间控件,只需在数据注释的帮助下指定模型的数据类型 属性 而不是 jquery 日期时间选择器

[DataType(DataType.DateTime)]

希望对你有所帮助

首先下载 globalize.js、globalize.culture.en-GB.js 文件和 link 这些文件到您的 Html page.Finally 粘贴以下内容代码到您的脚本标签中。

<script src="~/Scripts/globalize.js"></script>
<script src="~/Scripts/globalize.culture.en-GB.js"></script>
$(document).ready(function () {
    $.culture = Globalize.culture("en-GB");
    $.validator.methods.date = function (value, element) {
        return this.optional(element)
            || Globalize.parseDate(value, "dd/MM/yyyy", "en-GB")
            || Globalize.parseDate(value, "yyyy-mm-dd");
    }
$("#foundDate").datepicker( {dateformat: 'dd/MM/yyyy'} );
});