非常简单的问题......
我在控制器上有这个动作:
public ActionResult Index(DateTime? dataini, DateTime? datafim)
{
if((dataini != null) && (datafim != null))
{
var agendamento = db.agendamento.Where(x => x.data_agendamento >= dataini && x.data_agendamento <= datafim);
return View(agendamento.ToList());
}
else
{
var agendamento = db.agendamento.Include(a => a.medico).Include(a => a.paciente);
return View(agendamento.ToList());
}
}
这在我看来:
<p>
@using (Html.BeginForm("Index", "agendamentos", FormMethod.Get))
{
<b>Data Inicial:</b>@Html.TextBox("dataini", null, new { @class = "form-control datepicker" })
<b>Data Final:</b>@Html.TextBox("datafim", null, new { @class = "form-control datepicker" })
<input type="submit" value="Filtrar por Data" />
}
</p>
但是我没有从过滤器接收参数“datafim”。我只收到参数“dataini”。我做错了什么?
更新: 我忘了把网址传递出去了:
http://localhost:50608/agendamentos/Index?dataini=10%2F05%2F2017+13%3A00&datafim=15%2F12%2F2018+14%3A00
答案更新: 我只需要删除视图的FormMethod.Get,一切都解决了。这条线路的最终代码保持不变:
@using (Html.BeginForm("Index", "agendamentos"))
答案 0 :(得分:1)
如果您在datafim:15/12/2018的URL日期和您的方法中看到 期待一个格式为“MM / dd / yyyy”的日期,所以根据 你的日期15是一天,但方法理解它就像一个月 为什么它是NULL。