2

我有一个情况,MVC的路由(映射到控制器的网址)只是挡道。我想绕过它,并将所有的URL发送给一个控制器(不管格式如何,也没有任何解析它们的尝试)。MVC2无路由

我认为这很容易,但我卡住了。 非常感谢帮助。

+0

你可以更具体地解决你想解决的问题吗?你想完全忽略这个URL吗?我几乎可以说,从你的问题来看,你真的不想使用MVC来解决这个问题。 – 2010-08-09 00:58:46

+0

如果您不放置格式或者甚至没有路由,您如何确定您正在调用哪些操作方法?您应该至少放置1个路由或将路由表中的默认路由替换为您想要的路由。 – 2010-08-09 01:00:32

+0

我打算解析控制器中的HttpRequest,然后委托子控制器。我需要这样做,因为完整的路由不能单独由url来确定;我需要查看标题中的信息。 我该如何制作一个路由,它将发送任何网址,而不管内容是单个控制器还是操作? – Kenn 2010-08-09 01:05:01

回答

4

写一个包罗万象的路线(Global.asax中),并定义默认动作/控制器,这条路线..

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

在Global.asax.cs中添加这Application_Start应该工作:

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

参数MyAction应该被称为path