Я хотел бы использовать параметр url с косой чертой в нем (для лучшего вида url).
Я настроил маршрутизацию, как показано в Документах MS с двойной звездочкой:
mvcRoutes.MapRoute(
name: "processRequest",
template: "{lang}/{**path}",
defaults: new { controller = "DisplayContent", action = "ProcessRequest", lang = "en" });
Маршрут выбран, и параметры правильно передаются в действие, если я ввожу URL, например, www.example.com/en/s/link.
Проблема возникает, когда я пытаюсь создать ссылки на основе этого маршрута.
Url.RouteUrl("processRequest", new { lang = 'en', path = "s/link" })
дает
/ ен / s% 2flink
То же самое происходит, когда я использую помощник тега привязки в бритве.
<!-- GetQueryParameters is a method that returns query parameters as Dictionary<string, string> -->
<a asp-route="processRequest" asp-all-route-data="@ViewContext.GetQueryParameters()">Test</a>
<a asp-route="processRequest" asp-route-lang="en" asp-route-path="s/link">Test</a>
Оба эти набора имеют значение
/ о / s% 2flink .
Можно ли сгенерировать эти ссылки, используя помощники, или мне нужно согласиться с созданием вручную строки и настройкой href
без использования помощников тегов?