Culture routing dla lokalizacji

1

Bazując na dokumentacji w ASP.NET Core 5 zaimplementowałem Localization dla swojej aplikacji webowej.

Na chwilę obecną działa mi routing w stylu: endpoints.MapControllerRoute(name: "culture-route", pattern:"{culture=en-US}/{controller=Home}/{action=Index}/{id?}");

Aczkolwiek oryginalnie w kontrolerze stosowałem routing w stylu [HttpGet("contact")], żeby był on przyjaźniejszy użytkownikowi. Ciekaw jestem, czy macie jakiś pomysł jak go zastosować wraz informacją o culture-route?

Też jeszcze nie wiem jak będzie wyglądał routing dla kotwic w cshtml, na chwilę obecną mam coś w stylu <a class="mainButton" rel="canonical" asp-controller="Home" asp-action="Contact">contact</a>. Gdzie tu jest miejsce na culture-route?

Do tego wszystkiego jeszcze nie wiem skąd kontroler ma znać culture-route i gdzie ją przechowywać po wybraniu przez użytkownika? Jaka jest powszechnie stosowana praktyka?

Nie ukrywam, zakładając ten wątek nie sądziłem, że problem będzie aż tak złożony :) Zabieram się zaraz za studiowanie routingu w ASP.NET Core, ale jak macie jakieś pomysły i sugestie to piszcie śmiało, bo temat wydaje się być dość rozległy.

1

Ok, tym razem rozwiązanie było prostsze niż się spodziewałem. W kontrolerze zastosowałem routing w stylu:

[Route("/{culture}/contact")]
[Route("contact")]
//sygnatura

A kotwicę będą posiadać dodatkowy parametr: asp-route-culture przekazywany z kontrolera w ViewBagsach najpewniej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1