首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何与正反面共享语言资源

如何与正反面共享语言资源
EN

Stack Overflow用户
提问于 2019-04-18 04:08:08
回答 1查看 43关注 0票数 0

我已经按照这个文档在我的项目中添加了本地化:

https://docs.microsoft.com/en-gb/aspnet/core/fundamentals/localization?view=aspnetcore-2.2

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

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

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

我想知道怎样做才是最好的方法。我希望我的解释和需要一样清楚。

谢谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-19 05:04:01

该框架提供了一种在视图中使用资源(this part of the documentation)的方法,因此您可以做的是在html中默认隐藏您的模式窗口,并在需要时使用javascript切换它们的可见性。

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

所以大概是这样的:

视图

代码语言: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>

使用css规则

代码语言:javascript
复制
.modals
{
    visibility: hidden;
}

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

希望它是清晰的,这就是你需要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55735247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档