真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在ASP.NETCoreMVC中實(shí)現(xiàn)中英文切換-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)怎么在ASP.NET Core MVC 中實(shí)現(xiàn)中英文切換,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

公司專注于為企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、商城開發(fā),小程序設(shè)計(jì),軟件按需網(wǎng)站設(shè)計(jì)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗(yàn),我們會(huì)仔細(xì)了解各客戶的需求而做出多方面的分析、設(shè)計(jì)、整合,為客戶設(shè)計(jì)出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,成都創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。
public void ConfigureServices(IServiceCollection services)
    {
      services.AddLocalization(options => options.ResourcesPath = "Resources");
      services.AddMvc()
        .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix);
      services.Configure(opts =>
        {
          var supportedCultures = new List{
            new CultureInfo("en-US"),
            new CultureInfo("zh-CN")};
            opts.SupportedCultures = supportedCultures;
            opts.SupportedUICultures = supportedCultures; 
            opts.RequestCultureProviders = new List{
              new X_DOVERequestCultureProvider()
            };
        });
      services.AddControllersWithViews();
    }

嗯,這個(gè)代碼是.NET Core 3.1 的 應(yīng)該不會(huì)有太大區(qū)別吧?那個(gè)X_DOVERequestCultureProvider是我們自定義實(shí)現(xiàn)的,寫入了一些規(guī)則,我們看一下。

public class X_DOVERequestCultureProvider : RequestCultureProvider
  {
    public override Task DetermineProviderCultureResult(HttpContext httpContext)
    {
      var CULTURE_String = "CULTURE";
      var CultureCookie = httpContext.Request.Cookies[CULTURE_String]?.ToString() ?? "";
      if (string.IsNullOrWhiteSpace(CultureCookie))
      {
        CultureCookie = "zh-CN";
        httpContext.Response.Cookies.Append(key: CULTURE_String, value: CultureCookie, options: new CookieOptions() { Expires = DateTime.Now.AddYears(1) });
      }
      return Task.FromResult(new ProviderCultureResult(CultureCookie));
    }
  }

首先我們應(yīng)該知道RequestCultureProvider,它是一個(gè)在框架自身包括的 .net core 提供的,我們繼承它重寫了它的抽象類,在其中獲取了httpContext的Cookies值,然后進(jìn)行判斷,如果沒有咱們就不給它進(jìn)行一個(gè)輸出了,否則它還是我們的zh-CN 就是中文。

對(duì),別忘記了要在Configure中使用中間價(jià)

 app.UseRequestLocalization(
        options:app.ApplicationServices
        .GetService>().Value);

隨后我們應(yīng)該定義我們的配置文件,創(chuàng)建一個(gè)文件夾,放進(jìn)去,它應(yīng)當(dāng)和上面Startup中的文件夾相同,隨后創(chuàng)建對(duì)應(yīng)的視圖位置,一個(gè)英文一個(gè)中文,一定要注意后面對(duì)應(yīng)的en-Us 和 zh-CN 要相同哦。

怎么在ASP.NET Core MVC 中實(shí)現(xiàn)中英文切換

就現(xiàn)在我們?cè)谝晥D中最上面導(dǎo)入包,然后對(duì)應(yīng)字典就可以了。

@using Microsoft.AspNetCore.Mvc.Localization
@inject IViewLocalizer Localizer

 @Localizer["section1"]  | GitHub

你肯定知道該怎么辦了,對(duì)的你可以去修改Cookies來操作當(dāng)前httpContext中的合約,但盡管如何,我們只是重寫了cookies的,還沒有重寫url的,

以上就是怎么在ASP.NET Core MVC 中實(shí)現(xiàn)中英文切換,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前名稱:怎么在ASP.NETCoreMVC中實(shí)現(xiàn)中英文切換-創(chuàng)新互聯(lián)
文章鏈接:http://weahome.cn/article/ijpjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部