Asp.net mvc自定义route实现国际化
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实现国际化相关推荐
- ASP.NET MVC 自定义路由中几个需要注意的小细节
本文主要记录在ASP.NET MVC自定义路由时,一个需要注意的参数设置小细节. 举例来说,就是在访问 http://localhost/Home/About/arg1/arg2/arg3 这样的自定 ...
- asp.net mvc 自定义 pager 封装与优化
asp.net mvc 自定义 pager 封装与优化 Intro 之前做了一个通用的分页组件,但是有些不足,从翻页事件和分页样式都融合在后台代码中,到翻页事件可以自定义,再到翻页和样式都和代码分离, ...
- ASP.NET MVC 自定义Razor视图WorkContext
概述 1.在ASP.NET MVC项目开发的过程中,我们经常需要在cshtml的视图层输出一些公用信息 比如:页面Title.服务器日期时间.页面关键字.关键字描述.系统版本号.资源版本号等 2.普通 ...
- ASP.net MVC自定义错误处理页面的方法
在ASP.NET MVC中,我们可以使用HandleErrorAttribute特性来具体指定如何处理Action抛出的异常.只要某个Action设置了HandleErrorAttribute特性,那 ...
- Asp.Net MVC 自定义的MVC框架(非EF操作数据库)
一些废话:在北京辞职回家不知不觉中已经半年多了,这半年中有过很多的彷徨,困惑,还有些小小难受.半年时间算是我人生以来遇到过的最困苦的时候.理想的工作跟我擦肩而过,驾照也没有考过,年后这一改革...,毕 ...
- 【转】ASP.net MVC自定义错误处理页面的方法
在ASP.NET MVC中,我们可以使用HandleErrorAttribute特性来具体指定如何处理Action抛出的异常.只要某个Action设置了HandleErrorAttribute特性,那 ...
- ASP.NET MVC自定义AuthorizeAttribute篇知识点讲解—登录限制
阅读目录 1.前言 2.AuthorizeAttribute登录特性解释 3.代码示例 1.前言 a.微软对ASP.NET的开发从WebForm到MVC的转变,已经正式过去5,6个年头,现在WebFo ...
- ASP.NET mvc 自定义验证和Filter过滤器传参
在WEBfrom时代 membership作为系统默认的身份验证提供程序,貌似很好用,但ASP.NET没有开源,我们又不能百分之百的按照微软默认商务方式去进行验证,有无力去彻底重写这个东西,所以mem ...
- [asp.net mvc]自定义filter
写在前面 最近在摸索mvc,在app中的webview中嵌入h5应用,经常需要用到对cookie的读取操作.所以想到通过自定义的filter截取cookie,然后通过在action上面打特性的方式针对 ...
最新文章
- 运行hadoop fs -ls 命令显示本地目录问题
- pandas数据预处理(标准化归一化、离散化/分箱/分桶、分类数据处理、时间类型数据处理、样本类别分布不均衡数据处理、数据抽样)
- Google Play服务中的条码扫描识别
- 【Golang 基础】Go 语言的程序结构
- 移动智能家庭终端技术规范学习总结
- 网易企业业务进入大航海时代,邀您共创星辰大海
- java封装拦截请求_Retrofit,OkHttp拦截器,RxJava封装请求网络
- 河南理工大学计算机课d,河南理工大學计算机基础课后习题答案.doc
- 工作绩效数据、工作绩效信息和工作绩效报告的区别
- 巴士电台开放接口API
- swift1.2新增和改动
- 电商产品设计:购物车管理
- <EDEM MBD案例02>EDEM-Adams
- 用标签打印软件将Excel中的多列数据合并打印
- 幼儿园调查过程怎么写_幼儿园的调查报告范文
- 呼呼呼呼呼呼呼呼呼好
- [POI2008]MAF-Mafia
- 企业微信如何建立部门?企业成员怎么加入部门?
- CocosCreator3.x屏幕适配
- linux 在指定区域分配内存 c语言,C语言动态内存分配:(一)malloc/free的实现及malloc实际分配/释放的内存...
热门文章
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
- Golang——枚举(iota)的使用
- coldwallet java eth_wallet-eth 以太坊代币钱包 助记词 私钥 keystore 转账
- mysql无法添加或更新子行_MySQL错误1452-无法添加或更新子行:外键约束失败?
- java中JShell脚本工具、常量优化、集成开发环境IDEA
- Eclipse安装STS插件并解决安装缓慢问题
- SQL:如何用一个sql统计出全校男生个数、女生个数以及总人数
- 高性能RPC框架—----------------------Dubbo一站式快速入门
- 夸克、QQ浏览器、简单搜索竞品分析报告
- 微信也许会有重大变化