Мой проект со страницей бритвы, и я использую поисковый ввод и кнопку в меню веб-сайта.
Меню является компонентом. Просмотр на индексной странице
@model IEnumerable<Lib.Model.DepartmentMenu>
<ul id="news-menu-item" class="row bg-Department" style="margin-left:0px !important; margin- right:0px !important; padding-right:0px; font-size:0.85rem">
<li style="width:2.5rem">
<a asp-page="/Index"><i class="fas fa-home"></i></a>
</li>
@foreach (var item in Model)
{
<li><a asp-page="/SubFolder/Index" asp-route-SFId="@item.Id">@item.Name</a></li>
}
<li >
<div class="d-flex justify-content-center h-90">
<form method="post" enctype="multipart/form-data" asp-page-handler= "Search"
class="searchbar">
<input class="search_input" type="text" name="search_main" placeholder="search...">
<button class="search_icon"><i class="fas fa-search"></i></button>
</form>
</div>
</li>
</ul>
и кнопка поиска ручки в меню. add asp -page-handler = "Search" и на индексной странице, которую я поместил мой метод записи с обработчиком:
public async Task<IActionResult> OnPostSearchAsync(IFormCollection fc)
{
return RedirectToPage("/searchResult/", new { searchParam = searchText });
}
, как вы видите, нажав на кнопку поиска, текст, который пишется во входных данных поиска, отправляется на страницу результатов поиска URL будет
www.thissite.com/earchresulth?searchparam= "test"
, когда посетитель на индексной странице ("root сайта") кнопка поиска работает нормально моя проблема в том, что:
пользователь переходит на другую страницу, например: www.thissite.com/ о нас и поиск снова => когда pu sh URL-адрес кнопки поиска изменится на
/ aboutUs? searchparam = "test"
и dot't redirect * От 1034 * до
www.thissite.com/earchresulth?searchparam= "тест"
Как это исправить? * Обработчик
в index.cs html которые обрабатывают seachComponent i s:
public async Task<IActionResult> OnPostSearchAsync(IFormCollection fc)
{
return RedirectToPage("/searchResult/", new { searchParam = searchText });
}
searchresult.cs html is
public void OnGet(string searchParam)
{
//.ToList();
}