1.说明
我有登录页面,这是在英语。我已经创建了一个意大利语类,我已经插入了公共字符串翻译。
如果我只想调用类中的意大利语值,它可以正常工作。
我想要的是:
点击一个按钮,其中有一个asp-route-id=“1”为英语,或一个asp-route-id=“2”为意大利语。
点击后,页面读取英语或意大利语类的值,并显示在前端。
在后端,'gg'被声明为[TempData] public int gg {get; set;}。
如果我在前端只声明:WangageEnglishExtensions lang = new();,我可以正确地检索类值。
意大利语也是如此,没有if{}else{}声明。
附言:我知道有一个解决方案与资源,但对我来说,这似乎更直接和简单,以达到我想要的。
2.问题
如何才能做到这一点,使其工作?
3.前端C#代码(无法运行)
@{
@if (gg <= 1 || gg.ToString() == null)
{
LanguageEnglishExtensions lang = new();
}
else
{
LanguageItalianExtensions lang = new();
}
字符串
4.前端Html代码
<form id="account" method="post">
<a asp-page="/Connect" asp-route-id="1" class=" btn btn-outline-primary">
EN
</a>
<a asp-page="/Connect" asp-route-id="2" class=" btn btn-outline-primary">
IT
</a>
<div asp-validation-summary="All" class="text-danger"></div>
<div class="form-floating">
<input asp-for="Input.Email" class="form-control" autocomplete="username" aria-required="true" />
<label asp-for="Input.Email" class="form-label">@lang.email</label>
<span asp-validation-for="Input.Email" class="text-danger"></span>
</div>
<div class="form-floating">
<input asp-for="Input.Password" class="form-control" autocomplete="current-password" aria-required="true" style="text-align:center;" />
<label asp-for="Input.Password" class="form-label">@lang.password</label>
<span asp-validation-for="Input.Password" class="text-danger"></span>
</div>
<div class="form-group text-center">
<br>
<button type="submit" class="btn btn-outline-primary border-light" >
  @lang.login
</button>
</div>
</div>
型
5.意大利语课程
public class LanguageItalianExtensions
型
{
public string email = "Indirizzo email";
public string password = "Password";
public string login = "Entra";
型
}
1条答案
按热度按时间6ovsh4lw1#
您可以在asp.net core中查看与本地化相关的document
在program.cs中注册所需的服务并调用中间件:
字符串
....
型
在文档以下部分添加共享资源:
的数据
的
创建部分视图以选择语言:
型
调用layout中的partial view,这样我们就可以在每个页面中选择语言:
型
在
Index
页面中添加处理程序:型
帐户页面:
型
测试结果:
的
根据您的意见:
型
页面模型:
型
cshtml:
型
测试结果:
的