无法使用数据注释在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我使用设置波纹管
....
- 对所有控制器操作强制执行操作筛选(C#/ ASP.NET MVC)
- 将JSON数组发布到mvc控制器
- 如何告诉Web API / Castle Windsor路由引擎在我的存储库中使用不同的数据库实例?
- Mvc UserControl使用HtmlHelper与HelperResult和MvcHtmlString
- 将DTO传递给我的ViewModels构造函数以映射属性
- 如何在ASP.NET Core MVC中设计具有dependency injection的存储库模式?
- 如何在ASP.NET标识中创建不同的用户类型?
- AngularJS与ASP.NET MVC混淆
- FormsAuthentication Microst.AspNet.Identity.Owin.SignInManager.to之间的区别