2012-10-24 100 views
0

我有一個網站,將服務幾個不同的國家。當用戶點擊該網站時,我將使用IP定位器工具來確定他們來自哪個國家。所有的國家都會講英文,所以觀點是一致的,但價格會有所不同,以及其他一些事情。不同國家的ASP.NET MVC路由

的路由我想是這樣的:

  • 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 = "" } 
); 
+0

不,我們不能爲您提供。但我們可以幫助您完成您已經嘗試過的路由。 – Niklas

+0

你不需要每個國家的意見。使用您指定的路線,您將能夠獲得「country」的值,然後從數據庫中以該語言加載資源。 – MartinHN

回答

2

您的路線就足夠好了,你只需要一個參數添加到您的行動方法來檢索國家值:

public ActionResult Index(int id, string country) { 
    // your code here... 
} 
0

我的WebForms你也可以使用

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

不當然,如果這也適用於MVC,但我會這樣認爲。