В _Layout.cshtml у меня есть меню для изменения языка приложения, например:
<nav id="nav-lang">
<ul>
<li>
<a href="?culture=en-EN">EN</a>
</li>
<li>
<a href="?culture=pl-PL">PL</a>
</li>
</ul>
</nav>
То, что он делает, перезагружает страницу и устанавливает новую культуру - работает хорошо.Дело в том, что если пользователь меняет культуру и затем переходит на другую страницу в моем приложении, загружается культура по умолчанию.Я проверил свои параметры, и, кажется, лучший выбор - установить cookie "UserCulture", например, "c = pl-PL | uic = pl-PL".Дело в том, что я не знаю, как это сделать на бритвенных страницах.Я думаю, что я должен иметь с asp-page-handler установлен какой-то метод (например, «SetCulture») и иметь установку cookie в этом методе, но это вызывает некоторые проблемы:
- куда поместить «SetCulture ", если форма будет в _Layout.cshtml?В _Layout.cshtml нет кода за файлом
- как отправить форму из anchor ?Если я поставлю input type = "submit" , это полностью разрушит внешний вид меню ... Я знаю, что могу сделать это из js, но я стараюсь избегать js там, где это не обязательно, особенно для таких базовых вещей..
Я мог бы упустить что-то очень простое здесь, я все еще плохо знаком с Razor Pages.Оглядываясь назад, я, вероятно, следовало придерживаться MVC, но Razor Pages, как говорили, были проще ..