ASP.NetCore中的Url.Action和文化
创始人
2024-09-18 14:30:05
0

在 ASP.Net Core 中,Url.Action 用于生成 URL,其中可以包含区域设置信息以支持多语言网站。以下是如何使用 Url.Action 和区域设置的示例代码:

  1. 在 Startup.cs 文件中配置支持的语言:
public void ConfigureServices(IServiceCollection services)
{
    services.AddLocalization(options => options.ResourcesPath = "Resources");
    services.Configure(options =>
    {
        var supportedCultures = new[]
        {
            new CultureInfo("en-US"),
            new CultureInfo("fr-FR"),
            new CultureInfo("es-ES"),
            new CultureInfo("zh-CN"),
        };
        options.DefaultRequestCulture = new RequestCulture(culture: "en-US", uiCulture: "en-US");
        options.SupportedCultures = supportedCultures;
        options.SupportedUICultures = supportedCultures;
    });
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    var locOptions = app.ApplicationServices.GetService>();
    app.UseRequestLocalization(locOptions.Value);
}
  1. 在视图中使用语言资源字符串:
@inject Microsoft.Extensions.Localization.IStringLocalizer _localizer

@_localizer["Hello"]

  1. 在控制器中使用 Url.Action 生成带有区域设置的 URL:
public class HomeController : Controller
{
    public IActionResult Index()
    {
        ViewData["Title"] = "Home Page";
        return View();
    }

    public IActionResult About()
    {
        ViewData["Title"] = "About Page";
        return View();
    }

    public IActionResult ChangeCulture(string culture, string returnUrl)
    {
        Response.Cookies.Append(
            CookieRequestCultureProvider.DefaultCookieName,
            CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
            new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1) }
        );

        return LocalRedirect(returnUrl);
    }
}
  1. 在视图中使用 Url.Action 生成带有区域设置的 URL:
@_localizer["Home"]

相关内容

热门资讯

智星德州菠萝外挂!德扑之星的机... 智星德州菠萝外挂!德扑之星的机制,(wEpoke)素来是有挂(详细透视规律教程);小薇(透视辅助)致...
透视黑科技(WEPoke)外挂... 这是一款非常优秀的wepoke有挂 ia辅助检测软件,能够让你了解到wepoke有挂中牌率当中全部隐...
透视好牌(德扑之星猫腻)wep... 透视好牌(德扑之星猫腻)wepoke 软件(详细辅助切实教程)总是真的有挂;致您一封信;亲爱德扑之星...
微扑克辅助挂!欢乐棋牌有挂吗,... 微扑克辅助挂!欢乐棋牌有挂吗,(wePoke)竟然真的是有挂(详细辅助微扑克教程);支持2-10人实...
透视软件(wepoKE)透明挂... 这是一款非常优秀的wepoke辅助 ia辅助检测软件,能够让你了解到wepoke辅助中牌率当中全部隐...
透视透视挂(aapoker外挂... 透视透视挂(aapoker外挂)微扑克职业代打(详细辅助大神讲解)从前存在有挂;致您一封信;亲爱aa...
透视真的(wepokE)透明挂... 透视真的(wepokE)透明挂辅助挂(wepoke的确有挂)总是是有挂(详细透视规律教程);wepo...
透视私人局(德州之星有外挂)p... 透视私人局(德州之星有外挂)pokerwoeld安卓下载(详细辅助2025教程)最初真的是有挂,您好...
wepoke辅助德之星!聚星扑... wepoke辅助德之星!聚星扑克进去后怎么操作,(aapOker)原来是真的有挂(详细透视科技教程)...
透视挂(wePoke)外挂透明... 透视挂(wePoke)外挂透明挂辅助工具(wepoke的确有挂)都是有挂(详细透视总结教程);1.w...