首页 > 解决方案 > 如何在 DateTime EditorFor 中设置默认日期的值

问题描述

我尝试了不同的方法来制作 dateTime 文本框,这是可行的方法,但问题是我无法设置默认日期。

这是我正在做的事情:

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy/MM/dd}", ApplyFormatInEditMode = true)]

然后我设置今天的日期,DateTime.Now像这样model.NotifyDate = DateTime.Now; 在此处输入图像描述

它没有设置日期。但是,如果我[DataType(DataType.Date)]从模型中删除,我会得到: 在此处输入图像描述

我会得到日期,但日历不见了。有什么问题?还是我用datepicker错了?

这是我的看法:

@Html.EditorFor(m => m.NotifyDate, new { htmlAttributes = new { @class = "form-control input-sm" } })

标签: c#jqueryasp.net-mvcdatepicker

解决方案


你在正确的轨道上!像这样的默认值应该设置在ViewModel
(因为它看起来你正在做 w/ model.NotifyDate = DateTime.Now;

这里的问题似乎是浏览器期望生成的 htmlinput元素的值具有不同的格式——即yyyy-MM-ddvs yyyy/MM/dd
(注意使用-vs /

为了让浏览器正确显示日期,该值的格式必须为2019-09-23.

前任:

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]

是对类似问题的一个很好的答案,应该对正在发生的事情有更多的了解。


推荐阅读