简体   繁体   English

MVC EditorFor日期不显示值

[英]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" />

Result: Same 结果:相同 在此处输入图片说明

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")); }
}

Result: Value not loaded, datepicker shows 结果:未加载值,显示日期选择器 在此处输入图片说明

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}")]

Show Time and data using Data annotation 使用数据注释显示时间和数据

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM