MVC 3自定义路由处理程序 - 跳到下一个自定义路由规则?

时间:2011-03-14 20:09:08

标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing

正在查看asp.net mvc complex routing for tree path作为如何为我的MVC应用定义自定义路由处理程序的示例。从本质上讲,我希望为最终用户提供最大的灵活性来定义任何给定页面的URL,因此我在界面中为他们提供了一个字段来指定他们自己的自定义URL。

我的自定义路由处理程序基本上是一个通配符处理程序。它会进行查找,如果找到匹配项,则相应地进行映射。但是,如果找不到匹配项,我希望它回退并找到global.asax中匹配的下一个规则。那可能吗?或者我是否真的需要将以前存在于global.asax中的映射编码到我的自定义路由处理程序中?

2 个答案:

答案 0 :(得分:1)

路由已经按照这种方式工作

当某个路径定义与请求的URL不匹配时,路由会跳到下一个路由定义,依此类推。直到:

  • 找到一条匹配请求网址的路由
  • 失败,最后一个路线定义抛出404

提供一个示例,说明您的路由应该如何工作,我们将更容易为您提供有关自定义路由处理程序或路由是否适用于您的情况的信息。

答案 1 :(得分:1)

你应该能够很简单地实现这个目标。

只需抓住位于更具体路线下方的所有路线,在控制器中处理所有路径。

我猜您只需查找页面密钥然后将页面返回给用户。