我有一个网站,可以为几个不同的国家/地区提供服务。当用户访问该站点时,我将使用IP定位器工具来确定他们来自哪个国家/地区。所有国家都会说英语,所以所提出的观点将是相同的,但价格会有所不同以及其他一些事情。
我想要的路由是这样的:
你明白了......
任何人都可以在global.asax中为我提供我需要的路由吗?
我尝试过以下操作,但我不想为每个国家/地区创建视图:
routes.MapRoute(
"Default",
"{country}/{controller}/{action}/{id}",
new { country = "UK", controller = "Home", action = "Index", id = "" }
);
答案 0 :(得分:2)
您的路线应该足够好,您只需要在Action方法中添加一个参数来检索国家/地区值:
public ActionResult Index(int id, string country) {
// your code here...
}
答案 1 :(得分:0)
我是WebForms,你也可以使用
string country = Page.RouteData.Values["country"].ToString();
不确定这是否也适用于MVC,但我会这么认为。