【发布时间】:2016-02-09 18:12:46
【问题描述】:
我正在尝试将 DateTime 值加载到 ASP.NET 的内置日期选择器中。我正在从另一个来源成功检索起息日,但日期显示不正确。它没有显示该值,例如 12/02/2015,而是错误地显示为 mm/dd/yyyy(输入任何日期之前的默认值)。我不认为问题出在控制器中,因为可以很好地检索到值。
澄清:问题是 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)
【问题讨论】:
-
可能重复,或者您可以从以下帖子中获得答案:stackoverflow.com/a/12634470/1260204
-
是的,这是重复的。谢谢您的帮助。这解决了我的问题。
-
请注意,
type="date"仅在 Chrome 和 Edge 中受支持
标签: c# asp.net asp.net-mvc datetime razor