在视图和javascript中使用SharedLocalizer不能为字符串显示正确的值

时间:2018-10-10 07:32:26

标签: javascript c# asp.net-core asp.net-core-mvc

我正在使用asp.net core 2.0开发我的MVC应用程序。但是,我在视图中使用SharedLocalizer。以下是我的注射。

@using Microsoft.AspNetCore.Mvc.Localization
@using Microsoft.Extensions.Localization
@inject IViewLocalizer Localizer
@inject IStringLocalizer<SharedResources> SharedLocalizer
@inject IHtmlLocalizer<SharedResources> SharedHtmlLocalizer

这就是我所说的共享本地化器。

function updateCommission(agentID) {
    var msg = '@SharedLocalizer["Confirm Update Commission?"].Value.ToString()';
    if (confirm(msg) == false)
        return false;
}

结果变成这样。 enter image description here

如果我在html标签/输入中使用了sharedlocalizer,它会显示正常,当我查看页面源代码时,字符串也是'$#1231';

如何显示正确的字符串?

1 个答案:

答案 0 :(得分:2)

返回未经HTML编码的标记@Html.Raw

重构

function updateCommission(agentID) {
    var msg = '@Html.Raw(SharedLocalizer["Confirm Update commission?"].Value.ToString())';
        return confirm(msg);
}