You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 7.0中设置input date默认值?指定日期不显示求助

ASP.NET Core 7.0 中 input type="date" 默认值设置问题解决

HTML 的 input type="date" 对 value 属性的格式有严格要求——必须是 ISO 8601 标准格式(YYYY-MM-DD),你之前用的 01/02/2023 这类斜杠分隔的日期格式不被浏览器识别,所以页面加载后无法显示指定日期。下面是对应解决方案:

一、设置默认值为当天日期

后端(C#)传递方式

在 Controller 里生成当天的标准格式字符串:

ViewData["TodayDate"] = DateTime.Today.ToString("yyyy-MM-dd");

视图中绑定:

<input type="date" class="form-control" id="ngaydk" value="@ViewData["TodayDate"]">

前端 JavaScript 方式

如果不想后端处理,直接用 JS 在页面加载时设置:

<input type="date" class="form-control" id="ngaydk">

<script>
document.addEventListener('DOMContentLoaded', function() {
    const today = new Date().toISOString().split('T')[0];
    document.getElementById('ngaydk').value = today;
});
</script>

二、设置指定日期(以 2023 年 2 月 1 日为例)

直接写 value 属性

把日期转换成 YYYY-MM-DD 格式:

<input type="date" id="ngaydk" value="2023-02-01">

通过 ViewData 传递

后端先生成正确格式的字符串(如果是从已有字符串解析,要注意匹配原格式):

// 直接创建指定日期并转格式
ViewData["greeting2"] = new DateTime(2023, 2, 1).ToString("yyyy-MM-dd");

// 如果是从"01/02/2023"(日/月/年)字符串解析,这么写:
// ViewData["greeting2"] = DateTime.ParseExact("01/02/2023", "dd/MM/yyyy", null).ToString("yyyy-MM-dd");

视图中绑定:

<input type="date" class="form-control" id="ngaydk" value="@ViewData["greeting2"]">

内容的提问来源于stack exchange,提问作者Nhat Ho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 11:40:59