在复杂对象上应用模型元数据

时间:2012-07-10 09:36:37

标签: asp.net-mvc-3 modelmetadata

我有以下情况

public class Foo {
    public Bar FooBar { get; set; }
}

public class Bar {
    [DisplayFormatAttribute(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
    public DateTime BirthDay { get; set; }
}

现在当我使用EditorFor时,我想在我的DateTime上应用DataFormatString

@Html.EditorFor(x => x.FooBar.BirthDay);

上面的代码没有使用DisplayFormatAttribute呈现日期,所以我该如何解决这个问题呢?

1 个答案:

答案 0 :(得分:0)

你可能不得不使用这个我认为。

public class Bar {
    [DataType(DataType.Date), DisplayFormat( DataFormatString="{0:dd/MM/yy}", ApplyFormatInEditMode=true )]
    public DateTime BirthDay { get; set; }
}

或者你可以像这样使用

[DisplayFormat(DataFormatString = "{0:d}")]
[DataType(DataType.Date)]
public DateTime BirthDay { get; set; }

在您看来,您可以试试这个。

@Html.EditorFor(x => x.FoorBar.BirthDay.ToString("dd/MM/yyyy"))