将查询字符串转换为路径路径

时间:2016-07-04 15:25:29

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

我有一个问题,似乎无法解决它。我有一个网址,就像:

myurl/?culture=fr

我想要的是

myurl/fr

我的控制器看起来像:

public ActionResult Index(string culture = null)

和我的routeConfig:

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

这导致页面未正确重定向。 任何解决方法的提示?

1 个答案:

答案 0 :(得分:2)

如果要将“fr”附加到URL的根目录(www.yourUrl.com/fr),请在路由中提供默认控制器和操作。像这样: -

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

);

将“Home”替换为默认控制器,将“Index”替换为默认操作。