如何对MVC应用程序中的URL进行本地化。
例如,根据语言
,我会有不同的URL我不仅想要这个好网址,还要从这个网址生成我的面包屑,所以这会产生类似于:
我查看了Routconfig,但没有找到任何国际化选项。我是否必须为每个国际化URL定义一个spezifice路由?
答案 0 :(得分:1)
据我所知,除了为每个路由添加本地化变体之外,没有办法制作基于约定的本地化URL。相反,您必须构建一个custom RouteBase
,根据当前文化将URL映射到路径组合。您也可以通过覆盖GetVirtualPath
来制作反向路线,以便您的ActionLink
来电根据文化构建正确的网址。
最好将文化添加到网址的开头,并使用Application_BeginRequest
事件中的初始值设定项根据网址设置文化。
至于构建面包屑,您可以使用支持本地化的MvcSiteMapProvider。
完全披露:我是MvcSiteMapProvider的主要撰稿人。