ASP.NET Core Web多语言项目
公司效益好了,准备和国外做生意,这个时候就需要多语言了。
> 1. 这是一个ASP.NET Core Web多语言项目,主要展示项目的不同:
> 2. 第一种:www.xxx.com/en/index; www.xxx.com/zh/index; ,这种事通过路由来处理的
> 3. 第二种: www.xxx.com/index/en; www.xxx.com/index/zh ,这种可以用cookie保存,通过cookie来判断
> 4. 第三种:www.en.xxx.com; www.zh.xxx.com,这种方案就是发布两个项目,属于比较简单的,有多少种语言就发布多少种,上面的两种发布的是同一个版本的
> 5. 第一种,第三种一般用于两个项目差别比较大的情况,第二种一般用于项目只有内容不同,其他的都相同的情况
创建项目
新建一个ASP.NET Core Web项目,选择Web应用程序(模型视图控制器)
创建controller
创建一个EnController、ZhController、MoreController
using Microsoft.AspNetCore.Mvc; namespace MoreLanguage.Controllers
{
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
}
using Microsoft.AspNetCore.Mvc; namespace MoreLanguage.Controllers
{
public class EnController : Controller
{
public ActionResult Index()
{
return View();
}
}
}
using Microsoft.AspNetCore.Mvc; namespace MoreLanguage.Controllers
{
public class ZhController : Controller
{
public ActionResult Index()
{
return View();
}
}
}
using Microsoft.AspNetCore.Mvc; namespace MoreLanguage.Controllers
{
public class MoreController : Controller
{
public ActionResult Index(string lang)
{
ViewBag.lang = lang == "en" ? "Hello World!" :
lang == "zh" ? "世界,你好!" : $"你的语言我不懂:{lang}";
return View();
}
}
}
创建对应的视图
@{
ViewData["Title"] = "Index";
}
<h2>Hello World!</h2>
这里不再重复视图代码
修改Route
//Startup.cs文件
app.UseMvc(routes =>
{
routes.MapRoute(
name: "more_route",
template: "More/{action}/{lang}",
defaults: new { controller = "More" }); routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
效果

不同的路由查看效果
https://localhost:44318/
https://localhost:44318/En
https://localhost:44318/Zh
https://localhost:44318/More/Index/en
https://localhost:44318/More/Index/zh
git地址
https://github.com/jasonhua95/samll-project/tree/master/MoreLanguage
ASP.NET Core Web多语言项目的更多相关文章
- asp.net core web 解决方案多项目模板制作打包总结
一.文件夹\项目结构 1.1.文件夹 net6.0:针对.net 6.0 项目模板 net6.0pack:针对net6.0打包 1.2.项目结构 Web\WebApi多项目.各层项目.单元测试项目 目 ...
- ASP.NET Core Web 支付功能接入 支付宝-电脑网页支付篇
这篇文章将介绍ASP.NET Core中使用 开源项目 Payment,实现接入支付宝-电脑网页支付接口及同步跳转及异步通知功能. 开发环境:Win 10 x64.VS2017 15.6.4..NET ...
- ASP.NET Core Web 支付功能接入 微信-扫码支付篇
这篇文章将介绍ASP.NET Core中使用 开源项目 Payment,实现接入微信-扫码支付及异步通知功能. 开发环境:Win 10 x64.VS2017 15.6.4..NET Core SDK ...
- Asp.Net Core Web应用程序—探索
前言 作为一个Windows系统下的开发者,我对于Core的使用机会几乎为0,但是考虑到微软的战略规划,我觉得,Core还是有先了解起来的必要. 因为,目前微软已经搞出了两个框架了,一个是Net标准( ...
- ASP.NET Core Web App应用第三方Bootstrap模板
引言 作为后端开发来说,前端表示玩不转,我们一般会选择套用一些开源的Bootstrap 模板主题来进行前端设计.那如何套用呢?今天就简单创建一个ASP.NET Core Web MVC 模板项目为例, ...
- 【转载】ASP.NET Core Web 支付功能接入 微信-扫码支付篇
转自:http://www.cnblogs.com/essenroc/p/8630730.html 这篇文章将介绍ASP.NET Core中使用 开源项目 Payment,实现接入微信-扫码支付及异步 ...
- 【转载】ASP.NET Core Web 支付功能接入 支付宝-电脑网页支付篇
转自:http://www.cnblogs.com/essenroc/p/8627775.html 这篇文章将介绍ASP.NET Core中使用 开源项目 Payment,实现接入支付宝-电脑网页支付 ...
- Asp.Net Core Web Api 使用 Swagger 生成 api 说明文档
最近使用 Asp.Net Core Web Api 开发项目服务端.Swagger 是最受欢迎的 REST APIs 文档生成工具之一,进入我的视野.以下为学习应用情况的整理. 一.Swagger 介 ...
- ASP.NET Core Web 支付功能接入 微信-扫码支付篇(转)
原文 https://www.cnblogs.com/essenroc/p/8630730.html // 随着版本更迭,新版本可能无法完全适用,请参考仓库内的示例. 这篇文章将介绍ASP.NET C ...
随机推荐
- 统计每日单量MySQL语句
-- 每日单量 select DATE_FORMAT(createtime,'%Y-%m-%d') as days,count(*) count from ibt_shop_order group b ...
- majingwei 利用xml导出word文件---换行
xml不能识别<br>,需要将换行标记转换成<w:br/>
- eclipse的常用设置(空间新建后需要的配置)
地址:https://blog.csdn.net/qiaorui_/article/details/78424491 说明: 新下载的eclipse或者新建了一个工作空间,之 ...
- Oracle从入门到精通----学习笔记
书名:<Oracle从入门到精通:视频实战版>秦靖.刘存勇等编著 第4章 SQL基础 1.SQL语言分类 数据定义语言 --- DDL,Data Definition Language 数 ...
- 模拟登录,发送amf类型数据
参考 http://blog.csdn.net/amandag/article/details/5666219 以及 稍微修改了一下AMFPost的类 一.登录 登录过程中主要用到标红的3个请 ...
- wdk1703+vs2015编译的诡异问题
最近将wdk升级到1703(10.0.15063.0)版本,编译一个新建的minifiter项目居然出现了失败 提示错误为 WindowsDriver.common.targets(460,5): e ...
- flask sqlchemy 多对多的自引用关系定义
多对多的定义可以使用关联表,或者重新定义一个模型,通过模型定义多对多的自引用在flask web开发书里有讲到,这里主要演示用关联表定义的方法. from flask_sqlalchemy impor ...
- azkaban使用--邮件发送配置
前置条件:你的服务器是可以连外网. 当任务是异步定时的,我们对于结果的感知往往没有手动跑脚本那么及时,但是如果任何一个任务运行失败可能都会引起一些列问题,在这个情况下消息通知就很重要了,azkaban ...
- mac下新建txt文本快捷方式.md
转:127.0.0.1:47873/help/0-436/ms.help?method=page&id=A38C5670-BA28-44F3-BD5B-FCB46880E904&pro ...
- 前端面试之Javascript
1,JS基本的数据类型和引用类型: (1)基本数据类型:number,string,null,undefined,symbol--栈: (2)引用数据类型:object,array,function- ...