【问题标题】:ASP.NET MVC 5 Date won't be shown in ChromeASP.NET MVC 5 日期不会显示在 Chrome 中
【发布时间】:2016-09-14 13:37:13
【问题描述】:

ASP.NET MVC 5 日期不会显示在 Chrome 中。

应用中没有任何文化设置。

如何解决?

HTML

 @Html.EditorFor(model => model.Changed,
                           new
                           { htmlAttributes =
                                    new { @class = "form-control", @Value = Model.Changed.ToString("MM/dd/yyyy") } })

型号

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

【问题讨论】:

  • @J.Swietek 不不不 不行,伙计
  • 您是否尝试删除链接答案中所述的 DataType 属性?
  • @J.Swietek 如果我删除它,我会丢失 Chrome 日历,但我需要它。
  • 您的编辑器中的“aaaa”是什么?您是否手动更改了输出?真正的输出是什么?尝试使用 [DisplayFormat(DataFormatString ="{0:yyyy-MM-dd}" ...]

标签: c# .net asp.net-mvc datetime asp.net-mvc-5


【解决方案1】:

在支持 HTML5 datetimedatetime 输入类型的浏览器中,提供的值必须采用 ISO 格式,即 YYYY-MM-DD 表示 date、@ 987654326@ 代表datetime 等。如果不是这种格式,浏览器将无法解析该值,因此将输入视为没有值。因此,您只需将 DisplayFormat 属性更改为:

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

【讨论】:

  • 注意OP需要删除new { @Value = Model.Changed.ToString("MM/dd/yyyy") }
猜你喜欢
  • 2020-01-12
  • 2013-08-18
  • 2019-01-06
  • 1970-01-01
  • 2021-10-10
  • 2017-01-26
  • 1970-01-01
  • 2013-11-23
  • 1970-01-01
相关资源
最近更新 更多