Я начал возиться с маршрутизацией конечной точки и переводом URL, но я думаю, что чего-то не хватает.
Мое решение - здесь
Я начал с примера в это сообщение в блоге
запись URL в адресной строке работает, как и ожидалось, но я заметил, что тег привязки вообще не генерирует URL.
Образец макета
@{
Dictionary<string, string> routePol = new Dictionary<string, string>();
routePol.Add("language", "pl");
routePol.Add("controller", "Home");
routePol.Add("action", "Index");
}
<a asp-all-route-data="routePol">Poland</a>
должен генерировать
<a href="test/pl/Home/Index">Poland<a>
результат
<a href >Poland<a>
Основная конечная точка
app.UseEndpoints(endpoints =>
{
endpoints.MapDynamicControllerRoute<TranslationTransformer>(
"{language=pl}/{controller=orders}/{action=list}");
});
Я не понимаю, что не так. Я читал, что при маршрутизации в конечной точке тег привязки не генерирует URL, когда предоставленные значения генерируют несуществующий маршрут, но маршрут выше должен быть действительным.
Если это возможно, есть ли способ отладить, как маршрутподтверждено или в журнале ошибок?
РЕДАКТИРОВАТЬ: проблема теперь решена, благодаря Rena. Я обновил мое решение с исправлениями и добавил полезный компонент для изменения культуры с использованием значения маршрута, надеюсь, он будет полезен всем, кто столкнется с теми же проблемами, что и я.