3

我有这个带有以下数据注释的模型,因为我想以这种格式处理日期: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**">
4

3 回答 3

5

DataFormatString尝试添加之前ApplyFormatInEditMode = true

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")] 
于 2012-08-31T11:55:32.847 回答
1

您需要在 DisplayFormat 属性中包含 ApplyFormatInEditMode=true

于 2012-08-31T11:58:07.697 回答
1
 public string StartDate
        {
            get { return (startDateTime ?? new DateTime(1000, 01 ,01 )).ToString("G", DateTimeFormatInfo.InvariantInfo); }
        }

如果不适合您,请尝试其他格式

于 2012-08-31T12:00:41.963 回答