Я пытаюсь получить текущую культуру в .Net Core 2 со страницы Razor.
В основном у меня есть сайт, который обрабатывает различные языки. Вверху страницы я установил заголовок страницы как таковой ...
@{
Layout = "~/Views/Shared/_LayoutNotAuthorised.cshtml";
ViewBag.Title = ApplicationName.Resources.Authentication_Login.Resources.PageTitle.Productise("http://localhost");
}
Как вы можете видеть, у меня есть метод расширения, называемый «Productise», который берет строку из ресурсов (которая содержит заполнитель) и в основном заменяет ее именем продукта. Проблема, с которой я столкнулся, заключается в том, что я создал фильтр, который устанавливает текущую культуру потоков на основе файлов cookie или настроек браузера (которые присутствуют) Это работает нормально, я могу в ближайшем окне проверить это в контроллере.
Проблема, с которой я сталкиваюсь, заключается в том, что когда контроллер возвращает представление, а затем я перебираю код бритвы представления (и выполняю ту же проверку в ближайшем окне), это показывает, что культура текущего потока пуста. Когда страница бритвы вызывает метод расширения, в этот момент культура остается пустой.
Это должно произойти или это ошибка? Это миграция из неосновного приложения.
Спасибо