Почему IViewLocalizer не работает с ключевым словом {0}?

У меня есть проект asp.net core 5 с IViewLocalizer для локализатора.

Строка в Localizer имеет ключевое слово dynamic, оно используется для просмотра компонентов.

Я собираюсь использовать String.Format чтобы решить эту проблему.

Поэтому мне нужно добавить переменную строку в локализатор, например:

Welcome to {0}

Когда я использую приведенный ниже код для отображения его в представлении:

@string.Format(Localizer["Welcome"].Value, ShopName)

Эта строка ничего не отображает и блокирует весь следующий за ней код.

Странно, что Visual Studio 16.8.2 не сообщает об ошибках.

Вскоре я нашел решение с этим:

@Html.Raw(string.Format(Localizer["Welcome"].Value, ShopName))

Однако я не знаю, что вызывает эту проблему и почему Html.Rawрешает это.

Не могли бы вы рассказать мне об этом поподробнее? Спасибо.

1 ответ

Решение

Можете ли вы попробовать это, когда получаете данные от локализатора;

@Localizer.GetString("Welcome",new string[]{"Shop Name"});
Другие вопросы по тегам