如何为不同的语言MVC4 C#编写友好的URL

时间:2013-07-05 16:31:30

标签: c#-4.0 asp.net-mvc-4 seo custom-routes

我需要你的帮助才能理解如何在法语和英语中使用一个重定向到MVC4中相同控制器的URL?

换句话说,我有一个控制器 Specialty ,它有一个控制器 MoreOption

public ActionResult MoreOption()
{
...
}

所以我们可以通过http:// {domainname} /Speciality/MoreOption来访问这个控制器。现在我需要用法语http:// {domainname} / nos-specialites / options-supplementaires访问这个控制器。我不需要编写其他控制器类,因为它与我用来显示该页面的代码相同。

1 个答案:

答案 0 :(得分:1)

实际上,如果我理解正确的话,这很简单。

你只有2个动作方法,英语和法语,在同一个控制器中加载相同的模型。但是,如果同一控制器有2个名称,则可以通过路由配置实现此目的。

routes.MapRoute(
            name: "FrenchControllerName",
            url: "Home/{controller}/{action}/{id}",
            defaults: new {area="Home",controller = "EnglishControllerName", action = "Index", id = UrlParameter.Optional }
        );