未收到ASP.NET MVC参数

时间:2018-01-05 20:06:36

标签: asp.net asp.net-mvc-4

非常简单的问题......

我在控制器上有这个动作:

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"))

1 个答案:

答案 0 :(得分:1)

  

如果您在datafim:15/12/2018的URL日期和您的方法中看到   期待一个格式为“MM / dd / yyyy”的日期,所以根据   你的日期15是一天,但方法理解它就像一个月   为什么它是NULL。