填充EditorFor为日期时间
本文关键字:时间 日期 EditorFor 填充 | 更新日期: 2023-09-27 18:12:15
我为一个人建立了以下模型:
public class Person
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Display(Name = "Id")]
public int Id { get; set; }
[Display(Name = "Name")]
[StringLength(30)]
public string Name { get; set; }
[Display(Name = "Last Name")]
[StringLength(30)]
public string LastName { get; set; }
[Display(Name = "Birth date")]
[DataType(DataType.Date)]
public DateTime BirthDate { get; set; }
[Display(Name = "Height")]
[Range(120,250, ErrorMessage="Wrong height!")]
public int Height { get; set; }
}
当我创建一个新的Person时,它通常在数据库中创建以下日期格式的BirthDate: dd.mm.yyyy
问题是当我试图编辑那个人的详细信息时,在EditorFor字段中没有显示出生日期。所有其他细节,如姓名,姓氏和身高,但没有出生日期。
那么,这将正确显示所有保存的值:
@Html.EditorFor(model => model.Person.Name)
@Html.EditorFor(model => model.Person.LastName)
@Html.EditorFor(model => model.Person.Height)
但是这没有显示任何内容或者在某些浏览器中它只显示日期格式,没有值:
@Html.EditorFor(model => model.Person.BirthDate)
当我查看网站的源代码时,我可以看到有一个表示日期的值。只是没有显示出来。我也尝试用javascript填充它,但没有成功。什么好主意吗?
谢谢!
看这个问题:MVC4 DataType。日期编辑器在Chrome中不会显示日期值,在IE中可以
一个可能的解决方案:
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]