C# 如何与前台和后台共享语言资源

C# 如何与前台和后台共享语言资源,c#,asp.net-mvc,C#,Asp.net Mvc,我已经在我的项目中添加了本地化: 它按预期工作,但我面临一个问题。有时我需要显示模式窗口(例如确认注销请求),但我还没有找到使用语言资源处理它的最佳方法 我尝试使用javascript创建这些模态,但没有找到一种干净的方法来与javascript共享资源文件 我还尝试使用部分视图,但我发现的唯一解决方案是使用Ajax请求从服务器检索视图。乍一看,我以为我的问题解决了,但我意识到,如果无法从服务器检索到我的视图,我将无法以正确的语言显示错误消息,因为我的javascript无法访问资源文件 我想

我已经在我的项目中添加了本地化:

它按预期工作,但我面临一个问题。有时我需要显示模式窗口(例如确认注销请求),但我还没有找到使用语言资源处理它的最佳方法

我尝试使用javascript创建这些模态,但没有找到一种干净的方法来与javascript共享资源文件

我还尝试使用部分视图,但我发现的唯一解决方案是使用Ajax请求从服务器检索视图。乍一看,我以为我的问题解决了,但我意识到,如果无法从服务器检索到我的视图,我将无法以正确的语言显示错误消息,因为我的javascript无法访问资源文件

我想知道最好的方法是什么。我希望我的解释尽可能清楚


感谢您的帮助

框架提供了一种在视图()中使用资源的方法,因此您可以做的是在默认情况下将模式窗口隐藏在html中,并在需要时使用javascript切换其可见性

呈现视图时,所有资源字符串都将被替换,因此无需进行服务器调用来获取它们

比如说:

景色

@using Microsoft.AspNetCore.Mvc.Localization

@inject IViewLocalizer Localizer

// html of the view

<div id="error_modal" class="modals">
    <span>@Localizer["The error message"]</span>
</div>

然后使用javascript显示或隐藏div(仅举一个例子,具体方法取决于您使用的javasript库)


希望它清晰明了,这就是您所需要的。

您可以而且必须执行逻辑来读取前端的本地化文件。