带有shortDateTostring的Html.EditorFor

时间:2012-05-05 11:03:35

标签: asp.net-mvc

我想在我的HTML.editor中只显示日期而不是日期和时间。我试过两种不同的方法,但不能工作。 她是我不同审判的代码:

<%: Html.EditorFor(model => model.Dd.ToShortDateString())%>
        <%: Html.ValidationMessageFor(model => model.Dd) %>
    <br />
        <%: Html.LabelFor(model => model.Df) %>
    <br />
        <%: Html.EditorFor(model => model.Df, Model.Df.ToShortDateString()) %>
        <%: Html.ValidationMessageFor(model => model.Df) %>

任何人都有这个想法吗?

2 个答案:

答案 0 :(得分:5)

您可以使用[DisplayFormat]属性修饰视图模型属性:

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

这允许您指定在视图中显示和编辑属性时要使用的格式。

答案 1 :(得分:1)

使用[DataType(DataType.Date)]装饰您的ViewModel属性 然后在您的视图中使用@Html.EditorFor(m = > m.YourProperty)

更新

我的意思是这样的:

public class YourModel{
   [DataType(DataType.Date)]
   public DateTime YourProperty{get;set;}
}

然后只需使用默认的EditorTemplate:

Html.EditorFor(model => model.YourProperty)