HTML: изменение выбора по умолчанию в зависимости от нажатия кнопки на другой странице - PullRequest
0 голосов
/ 02 мая 2018

Я использую MVC.

У меня есть этот метод внутри моего контроллера Home (index page)

public IActionResult Requestservice()
    {
        return View();
    }

Существует страница, посвященная каждой услуге, предлагаемой веб-сайтом. Когда клиент нажимает кнопку «Запросить услугу» на странице «Барбекю»,

Ожидаемое поведение 1009 * будет:

  • Открыть страницу формы, где клиент вводит контактную информацию / информацию о местонахождении
  • Предварительно выберите «Пакет для барбекю» из выпадающего списка, в котором они могут выбрать вид услуги, который они хотят.

Вместо этого текущее поведение :

  • Клиент нажимает кнопку «Запросить услугу» на странице барбекю.
  • На странице формы выбранный параметр является первым элементом, записанным в кодовом блоке <ul> в формате html.

Фрагмент HTML на странице RequestService.cshtml

(...)

<select class="form-control" id="exampleFormControlSelect1">
    <option>Pack Complete (€34.99/pax)</option>
    <option>Pack Barbecue (€9.99/pax)</option>
</select>
(...)

Так выглядит кнопка на странице Barbecue.cshtml

<a class="btn btn-primary" href="RequestService">
     Request Service
     <span class="glyphicon glyphicon-chevron-right"></span>
</a>

Итак, еще раз, когда я нажимаю кнопку «Запросить услугу» на странице барбекю, как я могу сделать так, чтобы по умолчанию было выбрано «Пакет для барбекю», а не «Пакет завершен»?

enter image description here

Ответы [ 3 ]

0 голосов
/ 02 мая 2018

Я думаю, вы можете сделать это:

<a class="btn btn-primary" href="RequestService?option=barbecue">


public IActionResult Requestservice(string option)
    {
        ViewBag.DefaultMenuSelection = option;
        return View();
    }

<select class="form-control" id="exampleFormControlSelect1">
    <option @(ViewBag.DefaultMenuSelection == "packcomplete" ? "selected" : String.Empty)>Pack Complete (€34.99/pax)</option>
    <option @(ViewBag.DefaultMenuSelection == "barbecue" ? "selected" : String.Empty)>Pack Barbecue (€9.99/pax)</option>
</select>
0 голосов
/ 03 мая 2018

Я сделал это!

Вот мой метод в HomeController:

public IActionResult Requisitar(string option)
    {
        ViewBag.DefaultMenuSelection = null;

        if (option != null) {
            ViewBag.DefaultMenuSelection = option;
        }

        return View();
    }

А вот мой HTML-код, основанный на ответе Мохсина:

<select class="form-control" id="packDropdown">
       <option>Pack Complete (€34.99/pax)</option>
       <option selected="@(ViewBag.DefaultMenuSelection == "Pack_barbecue" ? "selected" : null)">Pack Barbecue (€9.99/pax)</option>
</select>

Тогда по кнопке запроса у меня это:

<a class="btn btn-primary"  href="@Url.Action("Request_service", null, new { area = String.Empty, controller = "Home", option="Pack_barbecue"})">
                Request Service
                <span class="glyphicon glyphicon-chevron-right"></span>
</a>

Вот и все!

0 голосов
/ 02 мая 2018

Попробуйте этот код.

<select class="form-control" id="exampleFormControlSelect1">
    <option>Pack Complete (€34.99/pax)</option>
    <option seleted>Pack Barbecue (€9.99/pax)</option>
</select>

Обратите внимание, я добавляю выбранное для опции "Pack Barbecure", чтобы выбрать его при первой загрузке.

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