在 ASP.Net Core 中使用 SharedLocalizer 和 javascript

Posted

技术标签:

【中文标题】在 ASP.Net Core 中使用 SharedLocalizer 和 javascript【英文标题】:Using SharedLocalizer and javascript in ASP.Net Core 【发布时间】:2019-03-15 01:14:50 【问题描述】:

我正在使用 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

这就是我调用 SharedLocalizer 的方式:

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

但是,我的结果如下所示:

如果我在我的 html 标签/输入中使用 SharedLocalizer,它会显示得很好。当我查看我的页面源代码时,字符串也是 '$#1231';

如何在我的设置中显示正确的字符串?

【问题讨论】:

【参考方案1】:

返回不是 HTML 编码的标记@Html.Raw

重构

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

【讨论】:

很好的答案!使用 ASP.NET Core 3.1.6 和 JS ES6

以上是关于在 ASP.Net Core 中使用 SharedLocalizer 和 javascript的主要内容,如果未能解决你的问题,请参考以下文章

记一次asp.net core 线上崩溃解决总结

ASP.NET Core Web 应用程序系列- 在ASP.NET Core中使用AutoMapper进行实体映射

ASP.NET Core中的缓存[1]:如何在一个ASP.NET Core应用中使用缓存

在 ASP.NET Core 6.0 中使用 Serilog

如何在 ASP.Net Core 中使用 IHostedService

ASP.NET Core Web 应用程序系列- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用)