Я создал раскрывающееся меню на веб-странице, которое должно фильтровать результаты, загруженные из базы данных по их стране.Я создал и заполнил список из класса enum, который я приведу в коде ниже.Я застрял в поиске, как передать выбранное значение в контроллер, чтобы я мог выполнить фильтр?
//View
@model List<Merchandise>
@{
ViewData["Title"] = "Variant Summary";
}
<header>
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
<div class="container">
<h2>Variant Summary</h2>
@Html.DropDownList("Countries", new SelectList(Enum.GetValues(typeof(Countries))))
</div>
</nav>
</header>
//Model
public class Merchandise
{
public string Id { get; set; }
//g.PlanSeqId, g.ItemId, g.ItemDescription, g.OrderQuantity, g.OrderSldTdy, g.PlannedMinutesQty, g.ActualMinutesQty
public int PlanSeqId { get; set; }
public int ItemId { get; set; }
public string ItemDescription { get; set; }
public int OrderQuantity { get; set; }
public int OrderSldTdy { get; set; }
public int PlannedMinutesQty { get; set; }
public int ActualMinutesQty { get; set; }
public Countries Countries { get; set; }
}
public enum Countries
{
USA, EUR, JPN
}
//Controller
public IActionResult Merchandise()
{
Countries selCountry = Countries.USA;
switch (selCountry)
{
case Countries.USA:
var bucket = _bucketProvider.GetBucket("MerchUSA");
var n1ql = @"SELECT META(g).id, g.PlanSeqId, g.ItemId, g.ItemDescription, g.OrderQuantity, g.OrderSldTdy, g.PlannedMinutesQty, g.ActualMinutesQty
FROM `MerchUSA` g
WHERE g.CompanyId = 0;
LIMIT = 20;";
var query = QueryRequest.Create(n1ql);
var results = bucket.Query<Merchandise>(query);
return View(results.Rows);
case Countries.EUR:
var bucket2 = _bucketProvider.GetBucket("MerchEUR");
var n1ql2 = @"SELECT META(g).id, g.PlanSeqId, g.ItemId, g.ItemDescription, g.OrderQuantity, g.OrderSldTdy, g.PlannedMinutesQty, g.ActualMinutesQty
FROM `MerchEUR` g
WHERE g.CompanyId = 1;
LIMIT = 20;";
var query2 = QueryRequest.Create(n1ql2);
var results2 = bucket2.Query<Merchandise>(query2);
return View(results2.Rows);
case Countries.JPN:
var bucket3 = _bucketProvider.GetBucket("MerchJPN");
var n1ql3 = @"SELECT META(g).id, g.PlanSeqId, g.ItemId, g.ItemDescription, g.OrderQuantity, g.OrderSldTdy, g.PlannedMinutesQty, g.ActualMinutesQty
FROM `MerchJPN` g
WHERE g.CompanyId = 2;
LIMIT = 20;";
var query3 = QueryRequest.Create(n1ql3);
var results3 = bucket3.Query<Merchandise>(query3);
return View(results3.Rows);
}
return View();
}
Сейчас я просто вижу раскрывающийся список со странами, но в контроллер не передается значение для фильтрации результатов.