Rid*_*loo 0 c# blazor blazor-server-side .net-6.0
我正在尝试将字符串格式应用于来自资源文件的字符串。
<p class="note">@((MarkupString)(String.Format(Localizer["Test"], 2)))</p>
Run Code Online (Sandbox Code Playgroud)
但这是它在浏览器中的显示方式:
You have done <span class="text-primary text-bold"> 2 </span> tests.
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能让它采取正确的造型?
我已经尝试过这个解决方案,但它说:
The type or namespace name 'HtmlSanitizer' could not be found
Run Code Online (Sandbox Code Playgroud)
我正在使用 Blazor 服务器和 .NET6
编辑:我有一个名为 App.resx 的文件
<data name="Test" xml:space="preserve">
<value>
You have done
&lt;span class="text-primary text-bold"&gt;
{0}
&lt;/span&gt;
tests.
</value>
</data>
Run Code Online (Sandbox Code Playgroud)
您已经对资源字符串进行了双重编码,将其更改为You have done <span class="text-primary text-bold"> {0} </span> tests:
<data name="Test" xml:space="preserve">
<value>You have done <span class="text-primary text-bold"> {0} </span> tests</value>
</data>
Run Code Online (Sandbox Code Playgroud)
于是Localizer["Test"]返回You have done <span class="text-primary text-bold"> {0} </span> tests。
请注意,如果您使用资源编辑器,则只需按原样添加字符串,它就会正确编码,以便将其存储在 xml 中。
| 归档时间: |
|
| 查看次数: |
521 次 |
| 最近记录: |