【问题标题】:Razor Pages set current date on page loadRazor Pages 在页面加载时设置当前日期
【发布时间】:2021-02-06 15:04:08
【问题描述】:

我是 razor 和 .net 的新手,我在 ASP Net Razor 项目上有一个页面,我在其中弹出一个带有表单的模式。表单内部有一个日期选择器,我想在页面加载时设置系统日期并均匀地保持可编辑。 我已经试过了

  • @{ string dateNow = DateTime.Now.ToString("dd MM yyyy"); }
  • <input asp-for="intervento.Data" class="form-control" type="date" value="@dateNow" />

它检索到正确的日期,但无法显示它。我该如何解决这个问题?

【问题讨论】:

    标签: asp.net-core razor-pages


    【解决方案1】:

    您的日期应采用以下格式yyyy-MM-dd

    所以它看起来像这样:

    <input type="date" value="2020-10-23">
    

    【讨论】:

    • 它成功了,谢谢,我用这个“yyyy-MM-dd”而不是“dd MM yyyy”设置了ToString
    【解决方案2】:

    大概,Intervento.Data 是您的 PageModel 的 DateTime 属性?如果是这样,你应该添加一个DataType 属性来指定它代表一个日期,而不是一个时间:

    [DataType(DataType.Date)]
    public DateTime Data { get; set; }
    

    那么您不需要在输入中指定type。标签助手将根据属性生成正确的值。此外,如果您在属性上设置默认值:

    [DataType(DataType.Date)]
    public DateTime Data { get; set; } = DateTime.Now;
    

    您也不需要设置输入的值。 ASP.NET 将负责将值正确格式化为输入可以使用的 ISO 8601 格式。所以以下就足够了:

    <input asp-for="intervento.Data" class="form-control" />
    

    【讨论】:

      猜你喜欢
      • 2018-04-05
      • 2017-11-22
      • 2016-12-26
      • 1970-01-01
      • 2020-11-20
      • 2018-11-28
      • 2019-01-29
      • 1970-01-01
      • 2011-01-12
      相关资源
      最近更新 更多