0

我有一个服务于几个不同国家的网站。当用户访问该站点时,我将使用 IP 定位器工具来确定他们来自哪个国家/地区。所有国家/地区都会说英语,因此呈现的视图将是相同的,但是定价会有所不同以及其他一些事情。

我想要的路由是这样的:

  • mydomain.com/UK/Pricing
  • mydomain.com/Australia/Pricing
  • mydomain.com/UK/Features/SomeFeature
  • mydomain.com/Australia/Features/SomeFeature

你明白了……

谁能提供我在 global.asax 中需要的路由?

我尝试了以下方法,但我不想为每个国家/地区创建视图:

routes.MapRoute(
"Default", 
"{country}/{controller}/{action}/{id}", 
 new { country = "UK", controller = "Home", action = "Index", id = "" }
 );
4

2 回答 2

2

您的路线应该足够好,您只需在 Action 方法中添加一个参数即可检索国家/地区值:

public ActionResult Index(int id, string country) {
  // your code here...
}
于 2012-10-24T11:23:27.270 回答
0

我是您也可以使用的 WebForms

string country = Page.RouteData.Values["country"].ToString();

不确定这是否也适用于 MVC,但我会这么认为。

于 2012-10-24T12:05:19.580 回答