如何指定RouteConfig默认路由?

时间:2013-10-05 18:57:44

标签: asp.net-mvc-4

如果我正在构建一个SPA应用程序,我只想让所有访问我服务器的URL转到一个控制器,该控制器将加载我的index.html和我的所有javascript用于SPA。

这是因为html5mode会删除支持历史记录API的浏览器上的哈希值。因此,如果用户要刷新html5mode SPA URL,那么它就会点击服务器......

我的解决方案就是创建一个"默认" route ...但我找不到一种方法,可以在RouteCollection中轻松实现......

更新 这是一条有效的路线。有没有更好的方法来做到这一点?我不应该这样做吗?

        routes.MapRoute(
            name: "Default",
            url: "{*things}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

1 个答案:

答案 0 :(得分:1)

您可以使用catch-all路由参数替换单个路由定义,而不是创建无限数量的路由,例如

{something}/{*parameters}

使用此catch-all将从您的URL中捕获所有内容。