2010-03-16 77 views
1

我有一个非常基本的使用默认路由的ASP.NET MVC应用程序。现在我需要使用单个参数将特定URL附带的所有请求路由到一个操作。没有控制器和动作名称的路由

例子:

www.myapp.com/2374982

www.myapp.com/3242342

应该被路由到相同的动作:

public ActionResult ViewById(int id) 

谢谢, Eden

回答

3

只要定义不{}控制器的路线/ {}行动部分

routes.MapRoute("ById", "{id}", new { controller = "Home", action = "ViewById"}, new{id = @"\d+"}); 

最后一个参数是约束,这可确保ID是一个数字。

+0

当然,我确实尝试了这个简单的解决方案。它不起作用。我得到了404. 你试过类似的东西吗? – Eden 2010-03-16 10:48:37

+0

我只是测试它,它的工作原理。 尝试评论其他路线定义并检查控制器/操作名称。 – 2010-03-16 11:29:44

+0

你是对的,它是解决问题的默认路由器.MapRoute。我只需要重新排列它们。 谢谢! – Eden 2010-03-22 12:49:11

相关问题