Доброго времени суток, взялся за C#, сделал простой вывод данных из таблицы на страницу.
--
В таблице есть несколько строк и поле "Date" (дата добавления записи). А в представлении цикл foreach, который выводит все строки.
--
Мне нужно вывести только те строчки, которые совпадают с датой, например "1.11.2017"
@foreach (var item in Model)
{
<div class="row line">
<div class="column col-xs-3">@item.Road</div>
<div class="column col-xs-3">@item.Time</div>
<div class="column col-xs-3">@item.Places</div>
<div class="column col-xs-3">@item.Price</div>
</div>
}
Как можно реализовать самым простым способом?
@foreach (var item in Model.Where(x => x.Date==new DateTime(2017, 11, 1, 0, 0, 0).ToList())
{
<div class="row line">
<div class="column col-xs-3">@item.Road</div>
<div class="column col-xs-3">@item.Time</div>
<div class="column col-xs-3">@item.Places</div>
<div class="column col-xs-3">@item.Price</div>
</div>
}
Фильтрация обычно делается в действии контроллера, а во вьюку передаётся уже подготовленный для отображения результат.
Для фильтрации используюя linq обычно применяется такой синтаксис:
var items = db.NameOfEntytySet.Where(x=>x.Date==dateToFilter).OrderBy(x=>x.Date);
В примере выше я запись получаю из базы данных, но её можно получить с любого списка путём list.Where(x=>x.Date==dateToFilter). list имплементирует интерфейс IEnumerable. Так же в примере выше я отсортировал записи по дате.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости