无法使用数据注释在MVC 4中设置日期时间格式
我会尝试一切但不工作这个( dd / MM / yyyy )日期格式,这总是门mm / dd / yyyy
[Display(Name = "Release Date")] [DataType(DataType.DateTime)] [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] public Nullable release_date { get; set; }
剃刀视图
@Html.EditorFor(model => model.release_date)
使用DateTime模板。
@model Nullable @if (Model.HasValue) { @Html.TextBox("", String.Format("{0:dd/MM/yyyy}", Model.Value)) } else { @Html.TextBox("", String.Format("{0:dd/MM/yyyy}", DateTime.Now)) } @{ string name = ViewData.TemplateInfo.HtmlFieldPrefix; string id = name.Replace(".", "_"); } $(document).ready(function () { $("#@id").datepicker({ dateFormat: "dd/mm/yy", showStatus: true, showWeeks: true, highlightWeek: true, numberOfMonths: 1, showAnim: "scale", showOptions: { origin: ["top", "left"] } }); });
你错过了两件事:
DataFormatString="{0:dd/MM/yyyy}"; //It is dd/MM/yyyy instead of dd/mm/yyyy
你还需要:
ApplyFormatInEditMode=true
试着用这个:
[Display(Name = "Release Date")] [DataType(DataType.Date), DisplayFormat( DataFormatString="{0:dd/MM/yyyy}", ApplyFormatInEditMode=true )] public Nullable release_date { get; set; }
{0:dd/mm/yyyy}
应为{0:dd/MM/yyyy}
因为mm
表示分钟,而不是月份:
[Display(Name = "Release Date")] [DataType(DataType.DateTime)] [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] public Nullable release_date { get; set; }
如果使用数据注释。 当显示它很好。 但是在编辑模式时。 它仍然使用服务器格式(文化设置)DisplayFormat:喜欢它的名称,仅用于显示
有一些选择可以解决。 – 使用您喜欢的格式将服务器粘贴到服务器上 – 编写客户绑定 – 在web.config中设置全球化格式:dd / MM / yyy我使用设置波纹管
....