【问题标题】:Razor Page Create Input Type Date Turns Into Type TextRazor 页面创建输入类型日期变成类型文本
【发布时间】:2021-10-15 17:29:48
【问题描述】:

我有一个 DateTime 类型的模型,想为其创建文本框。默认生成控件的类型是datetime-local。我只想将其更改为date,因为我不需要时间。但是,由于某种原因,加载完成后类型总是变为text 类型。

这是我的代码

<div class="form-group">
  <label asp-for="Order.TanggalOrder" class="control-label">Tanggal Order</label>
  <input asp-for="Order.TanggalOrder" type="date" class="" />
  <input asp-for="Order.TanggalOrder" type="time" class="form-control" />
  <span asp-validation-for="Order.TanggalOrder" class="text-danger"></span>
</div>

如您所见,浏览器在短时间内正确渲染了date 输入,然后变成了text。日期选择器仍然存在,但输入验证(dd/mm/yyyy 文本和日历图标)不再存在。

这种情况只发生在 date 类型上,正如我用 time 或 datetime 尝试过的那样,它们仍然可以正确呈现。

关于我必须做什么的任何线索? 我正在使用 .net 5 mvc。

【问题讨论】:

    标签: html asp.net-core-mvc razor-pages .net-5


    【解决方案1】:

    您可以使用单独的日期和时间控件。为了让输入标签助手呈现正确的控件,需要进行更多配置:

    型号:

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

    查看:

    DateTime:
    <input class="form-control" asp-for="Date" />
    

    结果:

    【讨论】:

      猜你喜欢
      • 2018-08-15
      • 2013-01-03
      • 1970-01-01
      • 2016-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-02
      • 1970-01-01
      相关资源
      最近更新 更多