为什么 IViewLocalizer 不能使用关键字 {0}?

Why IViewLocalizer no working with keyword {0}?

我有一个 asp.net 核心 5 项目,其中 IViewLocalizer 用于 Localizer。

Localizer中的字符串有一些动态关键字,用于组件视图。

我正准备使用String.Format来解决这个问题。

所以我必须在定位器中添加一些可变字符串,例如:

Welcome to {0}

当我使用下面的代码在视图中呈现它时:

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

此字符串不呈现任何内容并阻止其后的所有代码。

好奇怪Visual Studio16.8.2不报错

很快我就找到了解决办法:

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

但是,我不知道是什么原因导致了这个问题以及为什么Html.Raw解决了这个问题。

你能告诉我更多关于这方面的信息吗?谢谢。

当你从定位器获取数据时,你可以这样尝试吗?

@Localizer.GetString("Welcome",new string[]{"Shop Name"});