Применение метаданных модели к сложным объектам

У меня следующий сценарий

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

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

Теперь, когда я использую EditorFor, я хочу применить DataFormatString к моему DateTime

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

Приведенный выше код не отображает дату правильно с помощью DisplayFormatAttribute, так как я могу решить эту проблему?

1 ответ

Решение

Возможно, вам придется использовать это, я думаю.

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"))
Другие вопросы по тегам