Фильтр между 2 датами в ASP.NET MVC - PullRequest
0 голосов
/ 19 апреля 2019

Я хочу фильтровать или искать между 2 датами, когда я пишу этот код, но когда я запускаю приложение, данные, которые в таблице не показывают, что не так?

Это мой контроллер:

    public ActionResult Index(DateTime? start, DateTime? end)
    {
        var ExpenseDetails = _context.ExpenseDetails.Include(s => s.expenses).Where(t => t.DateExpense >= start && t.DateExpense <= end).ToList();

        return View(ExpenseDetails);
    }

и это вид:

@using (Html.BeginForm())
{
        <div>
            <span>Start Date :</span> <input type="date" name="start" />
            <span>End Date :</span> <input type="date" name="end" />
            <input type="submit" value="Get Records Between Dates" />
        </div>
        <table>
        @foreach (var item in Model)
        {
            <tbody>
               <tr>
                    <td>
                         @Html.DisplayFor(modelItem => item.expenses.Expenses_Type)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.DateExpense)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.Amount)
                    </td>                           
            </tbody>
         }
        </table>

}

введите описание изображения здесь

enter image description here

Спасибо

1 Ответ

1 голос
/ 19 апреля 2019

Вам нужно подтвердить следующее, когда вы имеете дело с датами:

  • Сравните без временной части, если не требуется.Пример: здесь
  • Сравните DateTime в обычном формате. Например, ввод DateTime и сервер DateTime могут находиться в разных часовых поясах.Конвертируйте их в Utc перед сравнением
  • Вы можете сравнить год и месяц по отдельности [не рекомендуется]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...