代码之家  ›  专栏  ›  技术社区  ›  Peter Moberg

在ASP.NET MVC路由中,是否可以让catchall后跟其他参数?

  •  2
  • Peter Moberg  · 技术社区  · 15 年前

    我想创建一条如下所示的路线:

    routes.add(新路由(“{*url}/{action}.do/{id}”,new mvcroutehandler())

    这可能吗?看来守望者是最后一个?

    2 回复  |  直到 15 年前
        1
  •  0
  •   Matthew Groves    15 年前

    ScottGu :

    mvc框架选择 通过评估 按以下顺序排列的可路由规则 他们已经登记了

    我想你 可以 在“全部捕获”之后注册,但它永远不会被命中,因为“全部捕获”将首先被命中。

        2
  •  1
  •   Levi    15 年前

    catch all必须是路由中的最后一个参数,因为它说“匹配 整体 网址的剩余部分。”

    不过,您可以通过仅使用catchall并使用自定义myroutehandler而不是mvcroutehandler来伪造它。您的自定义路由处理程序只需操作routeContext来拆分 行动 身份证件 在将其传递给mvcroutehandler进行处理之前,请退出url。