[英]MVC EditorFor Date not showing Value
I want to display a date in German date format (dd.MM.yyyy) from the model in an MVC app and provide the user a datepicker. 我想在MVC应用程序中从模型中以德语日期格式(dd.MM.yyyy)显示日期,并为用户提供日期选择器。 I've gone throug a lot of the questions that have already been answered on this topic, but still can't get it to work. 我已经解决了有关该主题的许多问题,但仍然无法解决。 I tried it in Firefox and Edge, with the same results for each step. 我在Firefox和Edge中进行了尝试,每个步骤的结果相同。
Step 1: 第1步:
Model: 模型:
private DateTime? inbetriebnahmedatum;
public DateTime? Inbetriebnahmedatum
{
get { return inbetriebnahmedatum; }
set { inbetriebnahmedatum = value; OnPropertyChanged(new PropertyChangedEventArgs("Inbetriebnahmedatum")); }
}
View: 视图:
@Html.EditorFor(model => model.Inbetriebnahmedatum, new { htmlAttributes = new { @class = "form-control", placeholder = "Datum eingeben" } })
Result: No Datepicker, Time is displayed, Validation error 结果:无日期选择器,显示时间,验证错误
Step 2: Added DataType 步骤2:添加数据类型
Model: 模型:
private DateTime? inbetriebnahmedatum;
[DataType(DataType.Date)]
public DateTime? Inbetriebnahmedatum
{
get { return inbetriebnahmedatum; }
set { inbetriebnahmedatum = value; OnPropertyChanged(new PropertyChangedEventArgs("Inbetriebnahmedatum")); }
}
View: unchanged 查看:不变
Result: Value not loaded. 结果:未加载值。
Step 3: DisplayFormat added, Datatype removed 步骤3:添加DisplayFormat,删除数据类型
Model: 模型:
private DateTime? inbetriebnahmedatum;
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")]
public DateTime? Inbetriebnahmedatum
{
get { return inbetriebnahmedatum; }
set { inbetriebnahmedatum = value; OnPropertyChanged(new PropertyChangedEventArgs("Inbetriebnahmedatum")); }
}
View: unchanged 查看:不变
Result: Date displayed, but no datepicker and Validation Error 结果:显示日期,但没有日期选择器和验证错误
Step 4: Addedd ui Culture to Web.config 步骤4:将ui文化添加到Web.config
Web.config Web.config
<globalization uiCulture="de-DE" culture="de-DE" />
Step 5: Added Datatype again 步骤5:再次添加数据类型
Model: 模型:
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")); }
}
i'm not sure but u can try this try enter as like >> : 01/01/2018 我不确定,但是你可以尝试尝试输入>> >> 01/01/2018
or 要么
[DisplayFormat(DataFormatString = "{0:MMM dd, yyyy}")]
or 要么
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.