asp.net-mvc - 如何使用 MapHttpRoute 捕获所有 URL

标签 asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing

除了所有定义的 api 路由之外,我还想在 LegacyUriRedirect 操作中处理任何其他 url。

我试图将 routeTemplate 留空,但它只捕获根 url 并忽略任何带有段的 url。

如何更改以下代码以捕获所有包含任何段的 url?

 config.Routes.MapHttpRoute(
                name: "LegacyUriRedirect",
                routeTemplate: "",
                defaults: new { controller = "URI", action = "LegacyUriRedirect" }
    );

最佳答案

config.Routes.MapHttpRoute(
        name: "LegacyUriRedirect",
        routeTemplate: "{*catchall}",
        defaults: new { controller = "URI", action = "LegacyUriRedirect" }
    );

关于asp.net-mvc - 如何使用 MapHttpRoute 捕获所有 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12884584/

相关文章:

asp.net-mvc - ServiceStack DefaultRedirectPath 未触发

c# - 仅在 safari 浏览器中,ASP.net MVC 中的 IFrame 中的 session 为空

c# - MVC Post 导致 QueryString 在重新加载同一 View 时丢失

c# - ASP.NET MVC - 编辑和只读的单一 View ?

c# - ASP Net MVC 5 SiteMap-将面包屑构建到另一个 Controller

c# - 无法从 aspx 页面中的代码访问变量

javascript - 在 MVC Web 应用程序中包含 Jquery 时间选择器的步骤

c# - 将 URL 字符串转换为 area + action + controller

asp.net-mvc - MVC-路由,为什么我不能忽略默认值,匹配的路由不包含 'controller'路由值,这是必需的

c# - 子应用程序中的 Asp.net MVC Catchall 路由