Asp.net mvc 4 如何指定RouteConfig默认路由?

Asp.net mvc 4 如何指定RouteConfig默认路由?,asp.net-mvc-4,Asp.net Mvc 4,如果我正在构建一个SPA应用程序,我只希望所有命中服务器的URL都转到一个控制器,该控制器将加载我的index.html和SPA的所有javascript 这是因为HTML5模式删除了支持历史API的浏览器上的哈希。因此,如果用户要刷新HTML5模式SPA URL,那么它会点击服务器 我的解决方案是只创建一个“默认”路由。。。但是我找不到一种方法可以让这在RouteCollection中变得容易 更新: 这是一条可行的路线。还有更好的方法吗?有什么理由我不应该这样做吗 route

如果我正在构建一个SPA应用程序,我只希望所有命中服务器的URL都转到一个控制器,该控制器将加载我的index.html和SPA的所有javascript

这是因为HTML5模式删除了支持历史API的浏览器上的哈希。因此,如果用户要刷新HTML5模式SPA URL,那么它会点击服务器

我的解决方案是只创建一个“默认”路由。。。但是我找不到一种方法可以让这在RouteCollection中变得容易

更新: 这是一条可行的路线。还有更好的方法吗?有什么理由我不应该这样做吗

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

与创建无限多的路由不同,您可以使用catch-all路由参数将实现替换为单个路由定义,例如

{something}/{*parameters}

使用此“捕获所有内容”将捕获URL中从此点开始的所有内容。

据我所知,只要将其反转为路径,
Default
应该是最新的。谢谢Andy,此提示让我尝试将{*something}作为我测试的捕获所有内容,它似乎正在工作。