模型属性格式

时间:2012-09-11 06:47:36

标签: c# asp.net-mvc

我有一个带有DateTime属性的模型:

[DisplayName("Updated")]
public DateTime lastUpdatedDate { get; set; }

目前,我认为我错误地处理了视图中日期时间的格式。

<tr>
    <td>@Html.LabelFor(m=>m.lastUpdatedDate)</td>
    <td>@Html.Label(Model.lastUpdatedDate.ToLongDateString())</td>
</tr>

我确信这是错的。首先,我应该在模型中进行格式化,并返回字符串(在用于显示日期的模型中 - 更新模型需要控件的DateTime类型)?但它变得复杂 - 时区。我应该在get模型中操纵日期时间的值(基于用户在注册时选择的时区); ..东西? (叫什么?吸气鬼?呵呵)。

在我学习MVC的同时,尝试使我的代码更友好。

1 个答案:

答案 0 :(得分:1)

如果你想优雅地处理时区,我建议你阅读answer。要简单格式化模型中的DateTime属性,请使用[DisplayFormat]属性进行装饰:

[DisplayName("Updated")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime lastUpdatedDate { get; set; }

并在您看来:

@Html.DisplayFor(x => x.lastUpdatedDate)