2016-02-09 114 views
0

我想在日期時間值加載到ASP.NET內置的日期選擇器。我成功從其他來源檢索值日期,但日期未正確顯示。而不是顯示該值,例如12/02/2015,它不正確地顯示爲mm/dd/yyyy(輸入任何日期之前的默認值)。我不認爲問題出現在控制器中,因爲該值可以很好地檢索。如何日期加載到日期選擇器(ASP.NET MVC/C#/剃刀)

要澄清:問題在於DateTime在視圖中根本不顯示。這實際上是「mm/dd/yyyy」,而不是日期。問題不在於我需要的日期方向不同,如dd/mm/yyyy或yyyy/dd/mm。

模型的這一部分看起來像:

[DataType(DataType.Date)] 
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)] 
public DateTime? myDate { get; set; } 

控制器的這一部分看起來像:

var a = dateFromDataBase; // string 
model.myDate = string.IsNullOrEmpty(a.AnswerText) ? (DateTime?) null : Convert.ToDateTime(a.AnswerText); // model.myDate gets vaue, but displays as mm/dd/yyyy, converted to a DateTime value 

視圖的這一部分看起來像:

@Html.ValidationMessageFor(model => model.myDate) 
@Html.EditorFor(model => model.myDate) 
+0

可能重複,或者您可以從以下帖子得到您的答案:http://stackoverflow.com/a/12634470/1260204 – Igor

+0

是的,這是重複的。謝謝您的幫助。這解決了我的問題。 – tonyleMill

+0

請注意,僅在Chrome和Edge中支持'type =「date」' –

回答

0

你能粘貼更多的實際控制器代碼嗎?

例如,a.AnswerText從哪裏來?

您是否設置了斷點以確保您的model.myDate屬性使用實際的日期時間值填充?

如果變量a包含日期格式的字符串:

model.myDate = string.IsNullOrEmpty(a) ? null : DateTime.Parse(a); 

你的模型返回到正常顯示?

+0

請參閱我以粗體字進行的修改。問題不是日期的方向,而是日期字面上不顯示。 – tonyleMill

相關問題