Asp.net mvc自定义route实现国际化
生活随笔
收集整理的這篇文章主要介紹了
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实现国际化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 5.6.17 x64 安装
- 下一篇: s3c2440移植MQTT