Поиск перенаправить и отобразить на текущей странице, а затем сразу на другой, когда элемент выбран - PullRequest
0 голосов
/ 25 февраля 2019

Я создаю сайт по прокату автомобилей.Я отображаю все доступные автомобили и удаляю их из списка, как только один из них нанят / забронирован.

На моей странице просмотра доступных транспортных средств я хотел бы иметь категорию поиска с использованием раскрывающихся списков, однако яхотел бы выполнить поиск и вернуть пользователя обратно на эту страницу только с уточненными поисковыми машинами.После этого, когда пользователь выбирает транспортное средство, которое он хочет забронировать, он должен быть направлен на следующую страницу.

Мой транспортный результат действия:

public ActionResult Vehicles()
    {
        var e = db.Vehicles.Where(x => x.availability == true).ToList();
        return View(e);
    }

Мой транспортный результат действия, сообщение:

[HttpPost]
    public ActionResult Vehicles(string locationUp, string vehicleID)
    {
        Session["V_LOC"] = locationUp;
        Session["V_ID"] = vehicleID;

        return RedirectToAction("Vehicle_Step_1", "Home");
    }

В данном случае это указывает пользователю на второй шаг при бронировании транспортного средства. Как я могу приспособиться к поиску, чтобы удержать пользователя на той же странице и уточнить поиск, и как только пользователь выберет транспортное средство?затем направить их ко второму шагу?

Я не делал этого раньше, поэтому я немного смущен тем, как продвигаться вперед с этим

1 Ответ

0 голосов
/ 25 февраля 2019

Вы можете определить модель, которая определяет пользовательские фильтры:

public class Filter 
{
    public string MaxPrice { get; set; }
    public string Make { get; set; }
}

На странице поиска вам необходимо отправить этот фильтр в контроллер для уточнения поиска, поэтому добавьте еще один метод действия, который пользователь можетотправлять по адресу:

[HttpPost] // <-- note that this one is HttpPost
public ActionResult Vehicles(Filter userFilter)
{
    // refine the search and send the user back to Vehicles view
    var e = db.Vehicles.Where(x => x.availability == true && 
                              x.Price <= userFilter.MaxPrice &&
                              string.Equal(x.Model, userFilter.Make).ToList();
    return View(e);
}

Это ваш самый простой вариант ... альтернативой может быть поиск по Ajax и обновление результатов поиска на той же странице с помощью Ajax и JavaScript (что будет более сложным дляуверен).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...