我有这个带有以下数据注释的模型,因为我想以这种格式处理日期: dd.MM.yyyy
[DataType(DataType.Date)]
[DateRange(ErrorMessageResourceName = "DateBetween", ErrorMessageResourceType = typeof(WizardStrings))]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}")]
public DateTime? BirthDate1 { get; set; }
在视图中:
@Html.EditorFor(model => model.BirthDate1 )
@Html.ValidationMessageFor(model => model.BirthDate1)
MVC仍然使用以下格式呈现此日期:dd / MM / yyyy似乎不会考虑我的数据注释。
查看呈现的HTML:
<input class="text-box single-line valid" data-val="true" data-val-required="La date de naissance est requise!" id="BirthDate1" name="BirthDate1" type="text" value="**9/9/1999 12:00:00 AM**">
答案 0 :(得分:5)
在DataFormatString
尝试添加ApplyFormatInEditMode = true
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")]
答案 1 :(得分:1)
您需要在DisplayFormat属性中包含ApplyFormatInEditMode = true
答案 2 :(得分:1)
public string StartDate
{
get { return (startDateTime ?? new DateTime(1000, 01 ,01 )).ToString("G", DateTimeFormatInfo.InvariantInfo); }
}
如果不适合你,请尝试其他格式