Model property formatting
我有一个带有DateTime属性的模型:
1 2 | [DisplayName("Updated")] public DateTime lastUpdatedDate { get; set; } |
目前,我认为我错误地处理了视图中日期时间的格式。
1 2 3 4 | <tr> <td>@Html.LabelFor(m=>m.lastUpdatedDate)</td> <td>@Html.Label(Model.lastUpdatedDate.ToLongDateString())</td> </tr> |
我确信这是错的。 首先,我应该在模型中进行格式化,并返回字符串(在用于显示日期的模型中 - 更新模型需要控件的DateTime类型)? 但它变得复杂 - 时区。 我应该在get模型中操纵日期时间的值(基于用户在注册时选择的时区); ..东西? (叫什么?吸气鬼?呵呵)。
在学习MVC的同时,尝试使我的代码更友好。
如果你想优雅地处理时区,我建议你阅读这个答案。 要简化格式化模型中的DateTime属性,请使用[DisplayFormat]属性进行装饰:
1 2 3 | [DisplayName("Updated")] [DisplayFormat(DataFormatString ="{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] public DateTime lastUpdatedDate { get; set; } |
在你看来:
1 | @Html.DisplayFor(x => x.lastUpdatedDate) |