Это код в контроллере:
// select only present date and distinct date for dropdownlist
var eventDate = from e in db.EVENTS
.GroupBy(e =>new { e.EventDate})
.Select(e => new { e.Key.EventDate})
.OrderBy(e => e.EventDate)
.Where(e => e.EventDate >= DateTime.Now)
select e;
var ddlDate = from d in eventDate
select d.EventDate;
ViewBag.EventDate = ddlDate;
Это разметка в index.cs html:
<div class="col-12 col-md-2 col-lg-1 pb-1">
<label class="col-form-label font-italic text-center">Filter :</label>
</div>
<div class="col-6 col-sm-5 col-md-4 col-lg-2 pb-1">
@Html.DropDownList("searchCampus", new SelectList(ViewBag.Campus), "Select campus", new { @class = "form-control" }) <br />
</div>
<div class="col-6 col-sm-5 col-md-4 col-lg-2 pb-1">
@Html.DropDownList("searchDate", new SelectList(ViewBag.EventDate), "Select Event date", new { @class = "form-control" })
</div>
I у меня есть EventDate
выпадающий список в качестве фильтра для моих данных. Но я не могу сравнить свою дату в строке запроса с моим типом данных DateTime
для столбца EventDate
. Я вижу дату в строке запроса в моем URL, где есть знак %
, и другие вещи смешиваются с моей датой.
Как фильтровать по дате (выпадающий список представляет собой список eventdate
, который я извлекаю из столбца EventDate
в таблице базы данных), поэтому, когда пользователь выбирает один из EventDate
из выпадающего списка, я хочу показать только данные, которые соответствуют EventDate
.
Можете ли вы помочь мне, пожалуйста?