MVC 3 - 简化路由:我如何?单个MapRoute中的多个URL匹配

时间:2012-05-05 21:14:37

标签: asp.net-mvc-3 asp.net-mvc-4

在我的Global.asax.cs路由中,我有一堆这样的路由条目:

      routes.MapRoute(
           name: "About",
           url: "about",
           defaults: new { controller = "Home", action = "About" }
       );

        routes.MapRoute(
           name: "Buy",
           url: "buy",
           defaults: new { controller = "Home", action = "Buy"}
       );

        routes.MapRoute(
           name: "Blog",
           url: "blog",
           defaults: new { controller = "Home", action = "Blog"}
       );

等等 - 我可以拥有facebook,twitter等等,这样当人们访问时 http://www.mywebsite.com/blog或/ twitter或/ facebook等我将它们重定向到实际的链接。

我是否遗漏了一些明显的东西,或者是否有更简单的方法将所有这些组合在一个条目中?

1 个答案:

答案 0 :(得分:0)

这是路线参数的用途:

routes.MapRoute("Default", "{action}", new { controller = "home" });

当然,这将捕获任何单个单词URL,然后抱怨如果该操作在主控制器中不存在。您可以在此之前映射其他路线,它们将优先。