以下在视图中使用的viewmodel
应该显示StartDate,例如9/30/2015
。但它显示为9/30/2015 12:00:00 AM
。我怎样才能让它显示没有时间,而使用DataAnnotaion
?我知道我可以在视图内使用@Model.StartDate.ToString("MM/dd/yyy")
只显示日期。但是,这将意味着你必须这样做,在每一个观点,即使用以下ViewModel
:使用DataAnnotation的ASP.NET MVC核心日期格式不起作用
视图模型:
...
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime StartDate { get; set; }
...
UPDATE
相应的模型类以上ViewModel
已经是具有以下DataAnnotation
正确创建SQL Server表中的数据类型为Date
;当你在SSMS
运行相应的表的查询它正确的日期只显示起始日期列的数据,说,2015年9月30日等)
型号
...
[DataType(DataType.Date)]
public DateTime StartDate { get; set; }
...
开始日期在sql db实际上只是Date
。此外,如果我在SSMS
上运行查询,它只会正确返回日期。
您是否尝试过使用'[DataType(DataType.Date)]'属性? –
@ErikFunkenbusch为了回答你的问题,我在我的文章中增加了一个** UPDATE **部分。此外,我确实在ViewModel上尝试了您的建议,但无济于事。 – nam
如果使用EditorFor或DisplayFor进行渲染,则使用DataType属性应该可以工作。 –