我想在MVC应用程序中从模型中显示德语日期格式(dd.MM.yyyy)的日期,并为用户提供日期选择器。我已经通过这个主题已经回答了很多问题,但仍然无法使其发挥作用。我在Firefox和Edge中尝试过,每个步骤都有相同的结果。
第1步:
型号:
private DateTime? inbetriebnahmedatum;
public DateTime? Inbetriebnahmedatum
{
get { return inbetriebnahmedatum; }
set { inbetriebnahmedatum = value; OnPropertyChanged(new PropertyChangedEventArgs("Inbetriebnahmedatum")); }
}
查看:
@Html.EditorFor(model => model.Inbetriebnahmedatum, new { htmlAttributes = new { @class = "form-control", placeholder = "Datum eingeben" } })
第2步:添加了DataType
型号:
private DateTime? inbetriebnahmedatum;
[DataType(DataType.Date)]
public DateTime? Inbetriebnahmedatum
{
get { return inbetriebnahmedatum; }
set { inbetriebnahmedatum = value; OnPropertyChanged(new PropertyChangedEventArgs("Inbetriebnahmedatum")); }
}
查看:未更改
第3步:添加了DisplayFormat,删除了数据类型
型号:
private DateTime? inbetriebnahmedatum;
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")]
public DateTime? Inbetriebnahmedatum
{
get { return inbetriebnahmedatum; }
set { inbetriebnahmedatum = value; OnPropertyChanged(new PropertyChangedEventArgs("Inbetriebnahmedatum")); }
}
查看:未更改
第4步:将ui Culture添加到Web.config
的Web.config
<globalization uiCulture="de-DE" culture="de-DE" />
步骤5:再次添加数据类型
型号:
private DateTime? inbetriebnahmedatum;
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")]
public DateTime? Inbetriebnahmedatum
{
get { return inbetriebnahmedatum; }
set { inbetriebnahmedatum = value; OnPropertyChanged(new PropertyChangedEventArgs("Inbetriebnahmedatum")); }
}
答案 0 :(得分:0)
我不确定,但你可以尝试一下 尝试输入,如&gt;&gt; : 01/01/2018
或
[DisplayFormat(DataFormatString = "{0:MMM dd, yyyy}")]
或
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]