Передача параметров в URL C# ASP

В URL передаю строку "FeedBackOverallReport?paramname="value", а туда приходит "FeedBackOverallReport%3FSearchValue%3Dvalue" и параметр в запрос не отправляется ([HttpGet] [FromQuery]). Это происходит ещё на этапе передаче этого значения в location.href. Подскажите, как это можно исправить? Чтоб в URL приходило "FeedBackOverallReport?paramname="value". Нужно, чтоб значение параметра передалось в контроллер. Если руками прописать "FeedBackOverallReport?paramname="value", то передаётся, а если "FeedBackOverallReport%3FSearchValue%3Dvalue", то нет.

Принцип работы примерно такой: Есть кнопка по нажатию на которую должен выполнится запрос. У кнопки есть обработчик onclick:

<button type="button" onclick="location.href='@Url.Action(`FeedBackOverallReport?SearchValue=ТЕСТ`, `FeedBack`'>Кнопка</button>

При нажатии на кнопку происходит переход на метод FeedBackOverallReport в контроллере. параметр SearchValue должен браться из строки, но он не берётся, так как строка меняется на "FeedBackOverallReport%3FSearchValue%ТЕСТ"


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

Автор решения: Vladimir
<button type="button" onclick="location.href='@Url.Action("Action", "Controller", new RouteValueDictionary(parametersObject))'"></button>

Подробнее о RouteValueDictionary https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.routing.routevaluedictionary?view=aspnetcore-8.0

P.S. написано "на ходу", возможны опечатки, но общая идея такая

→ Ссылка