我指的是以下鏈接: stackoverflow.com/questions/18288675/display-datetime-value-in-dd-mm-yyyy-format-in-mvc4MVC模型接受大日期
你的模型
[Required(ErrorMessage = "Enter the Issued date.")]
[DataType(DataType.Date)]
public DateTime IssueDate { get; set; }
剃刀頁
@Html.TextBoxFor(model => model.IssueDate)
@Html.ValidationMessageFor(model => model.IssueDate)
jQuery的DatePickter
$(document).ready(function() {
$('#IssueDate').datepicker({
dateFormat: "dd/mm/yy",
showStatus: true,
showWeeks: true,
currentText: 'Now',
autoSize: true,
gotoCurrent: true,
showAnim: 'blind',
highlightWeek: true
});
});
Webconfig文件
<system.web>
<globalization uiCulture="en" culture="en-GB"/>
</system.web>
它使用日期格式DD/MM/YYYY當像2015年3月5日,但不會工作使用日期像29/5/2015時的作品。
當我們從jquery datepicker中選擇日期時,該文本框將顯示29/5/2015。只是當它回發到服務器時,模型會顯示日期爲空(我正在使用DateTime?)。它將在3/5/2015工作得很好...
任何幫助?
編輯:
我將下面添加到我的控制器。當我回發時,下面的函數將執行並顯示en-GB。然後它會進入我的其他行動,假設處理httppost,但它顯示en-US!
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
base.Initialize(requestContext);
const string culture = "en-GB";
CultureInfo ci = CultureInfo.GetCultureInfo(culture);
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
}
出於興趣,如果嘗試5/29/2015會發生什麼? – Steve
^史蒂夫,是的,它可以接受它... – user3663854
然後,你有一個日期文化的問題,它試圖解析它作爲一個美國日期(月/日/年),29/5/2015失敗。你需要看看你的文化設置。 – Steve