Применение метаданных модели к сложным объектам
У меня следующий сценарий
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"))