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

Convert Query string to Route Path

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

myurl/?culture=fr

我想要的是

myurl/fr

我的控制器看起来像:

public ActionResult Index(string culture = null)

和我的路线配置:

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

这会导致页面重定向不正确。 有什么解决办法吗?

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

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

);

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