Фильтрация через checkbox ASP.NET Core Mvc

ИДЕЯ

Я хочу сделать фильтрацию через checkbox для интернет магазина.

Значения для checkbox-ов я беру из базы данных и передаю их контроллеру:

private readonly IAllCars _carRep;
    AppDBContent db;

    public HomeController(IAllCars carRep, AppDBContent appDB)
    {
        _carRep = carRep;
        db = appDB;
    }

    public ViewResult Index()
    {
        ViewBag.brands = db.Brand.ToList();
        ViewBag.categories = db.Category.ToList();

        var homeCars = new HomeViewModel
        {
            AllCars = _carRep.Cars
        };
        return View(homeCars);
    }

В представлении визуализирую таким образом:

@model HomeViewModel
<div class="col-md-4">
    <form asp-controller="Home" asp-action="Index" method="get" class="form_class">
        <a href="#">Марка</a>
        <div>
            @foreach (var item in ViewBag.brands)
            {
                <input type="checkbox" value="@item.id" name="brandId" id="@item.name"/>
                <label>@item.name</label>
            }
        </div>
        <a href="#">Категория</a>
        <div>
            @foreach (var item in ViewBag.categories)
            {
                <input type="checkbox" value="@item.Id" name="categoryId" id="@item.categoryName"/>
                <label>@item.categoryName</label>
            }
        </div>
        <input type="submit" value="Фільтр" class="btn" />
    </form>
</div>

Далее при отправке формы происходит фильтрация вот так:

[HttpGet]
    public IActionResult Index(int brandId, int categoryId)
    {
        var filter = _carRep.Cars.Where(c => c.brandID == brandId || c.categoryID == categoryId);
        var homeCars = new HomeViewModel
        {
            AllCars = filter
        };
        ViewBag.brands = db.Brand.ToList();
        ViewBag.categories = db.Category.ToList();
        return View(homeCars);
    }

СУТЬ ПРОБЛЕМЫ Фильтры работают нормально только когда выбрано по одному фильтру одной и/или всех категорий фильтрации! Например: введите сюда описание изображения

Но если выбрать несколько одинаковых фильтров то не все сработают а только первые фильтры своих категорий фильтрации.

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

Проблема тут очевидна контроллер не может обработать несколько brandId, и/или несколько categoryId. Я пробывал делать brandId и categoryId массивам: (int[] brandId, int[] categoryId) но не помогло


Ответы (0 шт):