【发布时间】:2019-12-28 03:10:16
【问题描述】:
我的应用程序中有一个使用AjaxBeginForm 的搜索表单。同样,我有一个日期字段 (DateTime),我在其中使用 datePicker 引导程序。
我的表单如下所示:
@using (Ajax.BeginForm("Index", "Pedido", new AjaxOptions { HttpMethod = "Get", InsertionMode = InsertionMode.Replace, UpdateTargetId = "divPedidos" }, new { @class = "form-inline" }))
{
@Html.TextBox("pesquisarRascunhoId", 0, new { style = "display: none" })
<div class="row">
<div class="col-sm-4">
<p>Data emissão</p>
<div class="input-group date col-sm-5">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
@Html.EditorFor(model => model.PedidoFilter.EmissaoInicial, new { htmlAttributes = new { @class = "form-control input-sm datepicker" } })
</div>
a
<div class="input-group date col-sm-5">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
@Html.EditorFor(model => model.PedidoFilter.EmissaoFinal, new { htmlAttributes = new { @class = "form-control input-sm datepicker" } })
</div>
</div>
<div class="btn-search">
<p class="demo-button">
<button type="submit" class="btn btn-success"><i class="fa fa-search"></i><span>Pesquisar</span></button>
</p>
</div>
}
用于在 dd / mm / yyyy 中格式化我的日期的 javaScript 如下所示:
$(".datepicker").datepicker({
format: "dd/mm/yyyy",
language: "pt-BR",
autoclose: true
});
我的实体如下所示:
public class PedidoFilter
{
public DateTime? EmissaoInicial { get; set; }
public DateTime? EmissaoFinal { get; set; }
}
最后我的控制器看起来像这样:
public ActionResult Index(PedidoResult pedidoResult,
{
var pedido = _service.FindAll(pedidoResult.PedidoFilter);
return View(pedido);
}
我在我的 Web.config 中这样定义我的语言文化:
<globalization uiCulture="pt-BR" culture="pt-BR" enableClientBasedCulture="true" />
我的表单的所有字段都到达了我的控制器,但我的日期字段始终为空,格式为
dd/mm/yyyy,我在我的 datepicker js 中定义。如果我以
mm/dd/yyyy格式输入日期,它将传递给我的控制器。
我的问题是:
如何以dd/mm/yyyy 格式传递我的日期字段并将它们放在我的控制器上而不使它们为空?
【问题讨论】:
-
你的视图模型是什么?这就是您在帖子中发送的内容
-
我的模型是 PedidoResult,其中包含一个 PedidoFilter,当我的 DateTime 被声明时。 tks
-
用
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]装饰DateTime字段以设置格式。我怀疑可能是因为日期格式不同。
标签: c# asp.net-mvc datetime datepicker