【发布时间】:2020-08-18 16:56:07
【问题描述】:
我无法将日期时间绑定到视图中
这是模型
public class ListaDisponibiliModel
{
[DisplayFormat(DataFormatString = "{0:f}", ApplyFormatInEditMode = true)]
public DateTime DataOraInizio { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy HH:mm}")]
public DateTime DataOraFine { get; set; }
}
我用这个代码通过控制器调用视图
public IActionResult ListDisponibili()
{
ListaDisponibiliModel ldm = new ListaDisponibiliModel()
{
DataOraInizio = DateTime.Now.AddDays(1),
DataOraFine = DateTime.Now.AddDays(1).AddHours(3),
Tipologie = es.Tipologie,
Disponibili = new List<DisponibiliModel>()
};
return View(ldm);
}
鉴于我有这个标记
@model ServiziAPagamento.Models.Disponibilita.ListaDisponibiliModel
@{
ViewData["Title"] = "ListDisponibili";
}
<h1>Composizione servizi</h1>
<h3>Dati servizio</h3>
<div class="container-fluid">
<form asp-action="ListDisponibili">
<div class="row">
<div class="col-lg-4">
<div class="form-group">
<label class="control-label">Data e ora inizio</label>
<input class="form-control" asp-for="DataOraInizio" />
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label class="control-label">Data e ora fine</label>
<input class="form-control" asp-for="DataOraFine" />
</div>
</div>
当我运行页面时,我的输入框保持清晰。但如果我删除
[DisplayFormat(DataFormatString = "{0:f}", ApplyFormatInEditMode = true)]
或
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy HH:mm}")]
我的输入框显示日期时间和我不想要的秒毫秒。
有人可以帮我吗?
【问题讨论】:
-
如果你只使用:
[DisplayFormat(DataFormatString="{0:dd/MM/yyyy}")]会发生什么? -
@mxmissile 如果我按照你的建议做我的输入框显示日期时间,但它也显示秒和毫秒
-
有一个未解决的问题:github.com/dotnet/aspnetcore/issues/10992。现在我想解决方法是将日期作为文本输入,并使用 jQuery datetimepicker 来格式化。
标签: asp.net-core asp.net-core-mvc