2017-09-15 95 views
1

全部。 我是新來的asp.net MVC 5. 我的數據庫中有一列有DateTime類型,我想用datepicker來插入日期。但是,它給了我一個錯誤。 the error使用datepicker將日期插入到數據庫中

我的模型就像

[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

你可以試着用DataAnnotaions

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

的日期時間格式,你也可以使用傳統的HTML5日期時間控制,只需用數據詮釋,而不是jQuery的日期時間選擇器的幫助下指定您的數據類型模型屬性像

[DataType(DataType.DateTime)] 

希望這將有助於幫助

+0

感謝您的意見。我在模型中聲明瞭數據類型並解決了問題。 – harry

1

你配置它

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

但輸入是MM/dd/yyyy

0

首先下載globalize.js,globalize.culture.en-GB.j將這些文件鏈接到您的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'}); 
});