ASP MVC没有匹配操作使用下一个路由,是否可能

时间:2016-02-01 19:43:01

标签: asp.net asp.net-mvc

好的,这是我的RouteConfig:

routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Projects", action = "Index", id = UrlParameter.Optional }
            );

            routes.MapRoute(
                name: "IgnoreAction",
                url: "{controller}",
                defaults: new { controller = "Projects", action = "Index", id = UrlParameter.Optional }
            );

基本上,我想在这里完成的是我希望服务器首先尝试根据第一条路线找到路线。但是,如果没有匹配的路由,我希望它只使用控制器(即忽略动作)。目前,当我发送ValidController / InvalidAction类型请求时它返回404。

要明确: 我希望ValidAction可以处理ValidController / ValidAction。但是,如果请求是ValidController / InvalidAction,那么我希望ValidController / Index

处理请求

1 个答案:

答案 0 :(得分:1)

mvc中的路由配置按照您创建的顺序使用,您应该将限制性更强的路由添加到更一般的规则中。

所以你应该按照以下顺序放置你的路线

\n

如果您仍然遇到问题,我会建议您Gilmpse为您提供" debug"你的路线。