Как я могу фильтровать данные по дате начала и окончания в ASP.NET MVC
Привет ,
Я хочу создать такой демо-я не знаю, как я могу сделать это в asp.net сущность фреймворка
https://i.stack.imgur.com/XdNdN.gif[^]
Что я уже пробовал:
This is my view : <pre>@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> }
А это мой контроллер :
public ActionResult Index(DateTime? start, DateTime? end) { var ExpenseDetails = _context.ExpenseDetails.Include(s => s.expenses).ToList(); return View(ExpenseDetails); }
Gerry Schmitz
Мы не знаем, какие поля даты находятся в расходах. Это то, что вы сравниваете.
Member 14317227
нет , это любая дата, не указанная дата, так что он может ввести и comber любую дату
Bryian Tan
вы пробовали использовать .Where
состояние?
Member 14317227
да я этим пользуюсь
публичный индекс ActionResult(DateTime? Начало, Дата и время? конец)
{
ВАР ExpenseDetails = _context.ExpenseDetails.Включить(s => s.расходы).Где(Т =&ГТ; Т.DateExpense &ГТ;= запустить &амп;&амп; Т.DateExpense &ЛТ;= конец).Список();
вид возврата(ExpenseDetails);
}
но когда я запускаю приложение там нет никаких данных
Member 14317227
не могли бы вы проверить правильность кода пожалуйста
Bryian Tan
Это кажется правильным, если бы присутствовала дата начала/окончания.
Member 14317227
Спасибо , что код работает , но как я могу показать все данные до того, как я отфильтрую или выберу дату, чтобы пользователь мог видеть все данные, и когда он хочет отфильтровать их по дате, он может сделать это также ?
Christian Graus
Во-первых, вам нужен контроллер, который принимает даты в качестве параметров, они публикуются в вашей форме. Затем вам нужно запросить свои данные, чтобы получить значения между датами.
Код, который вы опубликовали, кажется разумным. Если вы хотите помочь, вам нужно сказать больше, чем "не работает". Расскажите нам, что вы пробовали. Отправляются ли даты и время на задний план? Если нет, то использовали ли вы Fiddler, чтобы увидеть, что публикуется?
Я думаю, вам может понадобиться установить "id", а также "name" для значений, которые будут разнесены?