Asp.net mvc 2 无路由的MVC2

Asp.net mvc 2 无路由的MVC2,asp.net-mvc-2,asp.net-mvc-routing,asp.net-mvc-controller,Asp.net Mvc 2,Asp.net Mvc Routing,Asp.net Mvc Controller,我有一个例子,MVC的路由(将url映射到控制器)正在成为阻碍。我想绕过它,将所有URL发送到单个控制器(无论格式如何,也不需要任何解析) 我以为这很容易,但我被卡住了。 非常感谢您的帮助。编写一个全面的路由(global.asax),并为此路由定义一个默认操作/控制器 routes.MapRoute( "All", "{*all}", new { controller = "Home", action = "Index"

我有一个例子,MVC的路由(将url映射到控制器)正在成为阻碍。我想绕过它,将所有URL发送到单个控制器(无论格式如何,也不需要任何解析)

我以为这很容易,但我被卡住了。 非常感谢您的帮助。

编写一个全面的路由(global.asax),并为此路由定义一个默认操作/控制器

routes.MapRoute(
            "All",
            "{*all}",
            new { controller = "Home", action = "Index" }
        );

将此添加到Global.asax.cs中的
应用程序\u Start
,应该可以:

RouteTable.Routes.MapRoute(null, "{*path}", new { controller = "MyController", action = "MyAction" });

MyAction
的参数应调用
path

您能更具体地说明您要解决的问题吗?是否要完全忽略URL?我几乎可以说,从你的问题来看,你真的不想使用MVC解决这个问题。如果你没有设置格式,甚至没有路由,你如何确定你正在调用什么操作方法?您应该在路由表中至少放置1个路由或替换默认路由以获得所需的路由。我计划在控制器中解析HttpRequest,然后委派子控制器。我需要这样做,因为完整的路线不能仅从url确定;我需要查看标题中的信息。我如何创建一个路由,该路由将发送任何url,而不考虑内容到单个控制器和操作?在这种情况下,我建议您编写自己的路由处理程序,并替换默认的路由处理程序或将其子类化。尽管如此,您的路由表中至少有1个路由,没有路由您无法实现此目标:)