我是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的返回类型匹配?
任何帮助解决这个问题都将不胜感激。
答案 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'} );
});