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

如何让DatePicker默认显示dd.mm.yyyy而非01.01.0001并保留选值记忆

解决方案

要解决默认显示01.01.0001并实现占位提示+选值记忆的需求,只需两步修改:

1. 调整后端模型属性

将DateTime类型改为可空DateTime?,并添加日期格式化标记,避免默认值DateTime.MinValue(即01.01.0001)被渲染到页面:

[BindProperty, DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? Date { get; set; }

public void OnPostTestClick()
{
    String testDate = Request.Form["Date"];
    Debug.WriteLine("Testclick verdi2 = " + testDate);
    filterdato = testDate;
    ListData();
}

2. 前端添加占位提示

在input标签中添加placeholder属性,指定提示文本:

<form method="post" asp-page-handler="TestClick">
    <br />
    <br />
    <input asp-for="Date" placeholder="dd.mm.yyyy" />
    
    <button>Search</button>
    <br />
</form>

原理说明

  • 可空DateTime?的默认值为null,页面加载时输入框不会填充默认日期,转而显示placeholder文本。
  • BindProperty特性会自动保留用户提交的日期值,再次加载页面时会回显已选择的日期,实现记忆功能。
  • DisplayFormat确保日期在输入框中以dd.MM.yyyy格式显示,同时兼容HTML5日期输入的提交格式要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 16:35:28