2019独角兽企业重金招聘Python工程师标准>>>

缘起

最近做的一个网站项目要求中英文双语 之前也有一个网站要求中英双语切换,但当时使用的是webform,结果URL类似Person.aspx,PersonZh.aspx这样。
现在使用MVC了当然要实现的完美一些,至少要看上去比之前爽。

目标

网站大部分页面使用地址格式:

http://xxx.com/zh/home/person | http://xxx.com/en/home/person
http://xxx.com/zh/home/register | http://xxx.com/en/home/register

根据地址中的zh|en来控制语言切换处理

默认url指向的中文页面,即

http://xxx.com/home/person => http://xxx.com/zh/home/person

管理后台使用manager前缀,不区分中英文,也就是不使用中间的zh|en

http://xxx.com/manager/xxx

实现方式

asp.net mvc 3.0,Global.asax文件中配置

routes.MapRoute( "Manager", "Manager/{action}/{id}", new { controller = "Manager", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute( "Default", "{locale}/{controller}/{action}/{id}", new { locale = "zh", controller = "Home", action = "Index", id = UrlParameter.Optional } , new {locale="zh|en" }
);
routes.MapRoute( "DefaultOther", "{controller}/{action}/{id}", new { locale = "zh", controller = "Home", action = "Index", id = UrlParameter.Optional }
);

关键地方在于使用了route的constraints参数即new {locale="zh|en"}这个地方。

转载于:https://my.oschina.net/huanger/blog/290462

Asp.net mvc自定义route实现国际化相关推荐

  1. ASP.NET MVC 自定义路由中几个需要注意的小细节

    本文主要记录在ASP.NET MVC自定义路由时,一个需要注意的参数设置小细节. 举例来说,就是在访问 http://localhost/Home/About/arg1/arg2/arg3 这样的自定 ...

  2. asp.net mvc 自定义 pager 封装与优化

    asp.net mvc 自定义 pager 封装与优化 Intro 之前做了一个通用的分页组件,但是有些不足,从翻页事件和分页样式都融合在后台代码中,到翻页事件可以自定义,再到翻页和样式都和代码分离, ...

  3. ASP.NET MVC 自定义Razor视图WorkContext

    概述 1.在ASP.NET MVC项目开发的过程中,我们经常需要在cshtml的视图层输出一些公用信息 比如:页面Title.服务器日期时间.页面关键字.关键字描述.系统版本号.资源版本号等 2.普通 ...

  4. ASP.net MVC自定义错误处理页面的方法

    在ASP.NET MVC中,我们可以使用HandleErrorAttribute特性来具体指定如何处理Action抛出的异常.只要某个Action设置了HandleErrorAttribute特性,那 ...

  5. Asp.Net MVC 自定义的MVC框架(非EF操作数据库)

    一些废话:在北京辞职回家不知不觉中已经半年多了,这半年中有过很多的彷徨,困惑,还有些小小难受.半年时间算是我人生以来遇到过的最困苦的时候.理想的工作跟我擦肩而过,驾照也没有考过,年后这一改革...,毕 ...

  6. 【转】ASP.net MVC自定义错误处理页面的方法

    在ASP.NET MVC中,我们可以使用HandleErrorAttribute特性来具体指定如何处理Action抛出的异常.只要某个Action设置了HandleErrorAttribute特性,那 ...

  7. ASP.NET MVC自定义AuthorizeAttribute篇知识点讲解—登录限制

    阅读目录 1.前言 2.AuthorizeAttribute登录特性解释 3.代码示例 1.前言 a.微软对ASP.NET的开发从WebForm到MVC的转变,已经正式过去5,6个年头,现在WebFo ...

  8. ASP.NET mvc 自定义验证和Filter过滤器传参

    在WEBfrom时代 membership作为系统默认的身份验证提供程序,貌似很好用,但ASP.NET没有开源,我们又不能百分之百的按照微软默认商务方式去进行验证,有无力去彻底重写这个东西,所以mem ...

  9. [asp.net mvc]自定义filter

    写在前面 最近在摸索mvc,在app中的webview中嵌入h5应用,经常需要用到对cookie的读取操作.所以想到通过自定义的filter截取cookie,然后通过在action上面打特性的方式针对 ...

最新文章

  1. 运行hadoop fs -ls 命令显示本地目录问题
  2. pandas数据预处理(标准化归一化、离散化/分箱/分桶、分类数据处理、时间类型数据处理、样本类别分布不均衡数据处理、数据抽样)
  3. Google Play服务中的条码扫描识别
  4. 【Golang 基础】Go 语言的程序结构
  5. 移动智能家庭终端技术规范学习总结
  6. 网易企业业务进入大航海时代,邀您共创星辰大海
  7. java封装拦截请求_Retrofit,OkHttp拦截器,RxJava封装请求网络
  8. 河南理工大学计算机课d,河南理工大學计算机基础课后习题答案.doc
  9. 工作绩效数据、工作绩效信息和工作绩效报告的区别
  10. 巴士电台开放接口API
  11. swift1.2新增和改动
  12. 电商产品设计:购物车管理
  13. <EDEM MBD案例02>EDEM-Adams
  14. 用标签打印软件将Excel中的多列数据合并打印
  15. 幼儿园调查过程怎么写_幼儿园的调查报告范文
  16. 呼呼呼呼呼呼呼呼呼好
  17. [POI2008]MAF-Mafia
  18. 企业微信如何建立部门?企业成员怎么加入部门?
  19. CocosCreator3.x屏幕适配
  20. linux 在指定区域分配内存 c语言,C语言动态内存分配:(一)malloc/free的实现及malloc实际分配/释放的内存...

热门文章

  1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
  2. Golang——枚举(iota)的使用
  3. coldwallet java eth_wallet-eth 以太坊代币钱包 助记词 私钥 keystore 转账
  4. mysql无法添加或更新子行_MySQL错误1452-无法添加或更新子行:外键约束失败?
  5. java中JShell脚本工具、常量优化、集成开发环境IDEA
  6. Eclipse安装STS插件并解决安装缓慢问题
  7. SQL:如何用一个sql统计出全校男生个数、女生个数以及总人数
  8. 高性能RPC框架—----------------------Dubbo一站式快速入门
  9. 夸克、QQ浏览器、简单搜索竞品分析报告
  10. 微信也许会有重大变化