2016-07-04 155 views
0

我有一個問題,似乎無法解決它。我有一個網址,像多數民衆贊成:將查詢字符串轉換爲路由路徑

myurl/?culture=fr 

我要的是

myurl/fr 

我的控制器看起來像:

public ActionResult Index(string culture = null) 

和我routeConfig:

routes.MapRoute(
    name: "Languages", 
    url: "{controller}/{action}/{culture}" 
); 

這導致頁面無法正確重定向。 任何提示解決它?

+0

你能否提供更多的細節?當您嘗試使用myurl/fr語法進行重定向時,您看到了什麼結果? –

+0

我收到:'/'應用程序中的服務器錯誤。 找不到資源。 –

+0

[ASP.NET MVC 5在路由和URL中的文化]的可能重複(http://stackoverflow.com/q/32764989/181087) – NightOwl888

回答

2

如果您將「fr」附加到URL的根目錄(www.yourUrl.com/fr),則在路由中給予默認的Controller和動作。像這樣: -

routes.MapRoute(
name: "Languages", 
url: "{controller}/{action}/{culture}", 
defaults: new { controller = "Home", action = "Index"} 

);

使用默認控制器替換「Home」,使用默認操作替換「Index」。

+0

你能解釋一下嗎,我的routes.MapRoute應該是什麼? –

+0

編輯我的回答 – CuriousGeek

+0

它不起作用。如果myurl/fr –