Ничего не происходит при нажатии кнопки поиска на bootsrap и .net core

#asp.net-core #bootstrap-4

Вопрос:

Я пытаюсь изучить .net core, и то, что я хочу сделать, это: у меня есть панель поиска и функция GetDetail в контроллере. Я хочу активировать эту функцию при нажатии кнопки поиска в соответствии с текстом в форме. Но когда я нажимаю кнопку, ничего не происходит. Я не выполнил часть триггера, но даже если я просто перенаправлю на другую страницу с помощью href, также ничего не произойдет. Вот мой код просмотра строки поиска, который взят из sbadmin2:

 <div class="row justify-content-center">
            <div class="col-6 p-3">
                <div class="input-group">
                    <input type="text" class="form-control bg-light border-0 small" placeholder="Input" aria-label="Search" aria-describedby="basic-addon2" id="code">                                           
                        <button class="btn btn-primary" type="button" action="/Books/GetDetail?">
                            <i class="fas fa-search fa-sm"></i>
                        </button>                   
                </div>
            </div>         
        </div>
 

и функция, которую я хочу запустить, — это запрос get:

 public IActionResult GetDetail(string codes)
        {
            var request = $"?codes={codes}";
            var products = _httpTool.HttpGetAsync<List<Products>>($"{AppSettings.ApiUrl}/GetProducts{request}");
            var productList = products.Result.ToList();
            return Json(productList);
        }
 

Почему ничего не происходит и как я могу этого достичь?
Заранее спасибо!

Ответ №1:

попробуйте что-нибудь подобное:-

 <form method="post" asp-action="GetDetail">
  //clarify code

   <input type="submit" value="Search" class="btn btn-outline-primary mt-1"/>

 //clarify code

</form>

 
 
 [HttpPost]
public IActionResult GetDetail(string codes)
        {
            var request = $"?codes={codes}";
            var products = _httpTool.HttpGetAsync<List<Products>>($"{AppSettings.ApiUrl}/GetProducts{request}");
            var productList = products.Result.ToList();
            return Json(productList);
        }

 

После нажатия Search вы увидите, что что-то произойдет.

Комментарии:

1. Да, я заставил отладчика, наконец, посетить GetDetail, и этого для меня достаточно. Спасибо.