Стандартный атрибут DisplayFormat
не позволяет вам сделать это. Вы можете написать собственный атрибут для достижения этой функциональности:
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
public class LocalizedDisplayFormatAttribute : Attribute, IMetadataAware
{
public string DataFormatStringResourceName { get; set; }
public bool ApplyFormatInEditMode { get; set; }
public void OnMetadataCreated(ModelMetadata metadata)
{
if (!string.IsNullOrEmpty(DataFormatStringResourceName))
{
if (ApplyFormatInEditMode)
{
metadata.EditFormatString = MyMessages.ResourceManager.GetString(DataFormatStringResourceName);
}
metadata.DisplayFormatString = MyMessages.ResourceManager.GetString(DataFormatStringResourceName);
}
}
}
и затем:
public class MyViewModel
{
[LocalizedDisplayFormat(DataFormatStringResourceName = "DobFormat", ApplyFormatInEditMode = true)]
public DateTime Dob { get; set; }
}
и внутри MyResources.resx
может быть строковое значение DobFormat
: {0:dd-MM-yyyy}
.