asp.net mvc 2如何获取url参数的第一部分并将其传递给控制器​​?

时间:2011-03-29 21:10:25

标签: asp.net-mvc asp.net-mvc-2 asp.net-mvc-routing

我正在构建一个拥有多种语言版本的网站。目前我使用会话变量来管理不同语言版本的国家/地区代码

但是今天客户明确要求将国家/地区代码放在域名后面的网址中,这样网站网址就会像这些示例一样

英国版:www.mysite.com/uk/{controller}/{action}/{id}

美国版:www.mysite.com/usa/{controller}/{action}/{id}

我将默认路线定义为

  routes.MapRoute(
            "Default", // Route name
            "{country}/{controller}/{action}/{id}", // URL with parameters
            new { country ="uk", controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults.uk is the default value
        );

但我不确定如何获取控制器中url的第一段?

1 个答案:

答案 0 :(得分:0)

找到解决方案, 只需使用RouteData.Values [“country”],简单明了!