使用datepicker将日期插入数据库

时间:2017-09-15 05:18:53

标签: c# asp.net-mvc datepicker razorengine

我是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'} ); });

哪种日期格式应该传递到数据库中的日期时间?如何更改它以使其与datepicker的返回类型匹配?

任何帮助解决这个问题都将不胜感激。

3 个答案:

答案 0 :(得分:1)

您已配置

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

但输入位于MM/dd/yyyy

答案 1 :(得分:0)

您可以尝试使用DataAnnotaions

指定日期时间格式
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]

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

那样指定jquery日期时间选择器
[DataType(DataType.DateTime)]

希望它有助于帮助

答案 2 :(得分:0)

首先下载globalize.js,globalize.culture.en-GB.js文件并将这些文件链接到您的Html页面。最后将以下代码粘贴到您的脚本标记中。

<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'} );
});