我在中定义了几条路线Global.asax.cs
routes.MapRoute(
"Custom",
"party/get/{a}~{b}",
new { controller = "party", action = "get" },
new { a = @"\d+", b = @"\d+" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Party", action = "Index", id = UrlParameter.Optional }
);
如果请求是http://localhost:58684/party/get/37~12
那么它将与第一条路由以及 和 的a
值分别b
匹配。37
12
如果请求是http://localhost:58684/party/get/37~-12
那么第一个路由不匹配这个请求,因为-12
不匹配约束@"\d+"
并且默认路由匹配请求(我不想要这种行为)。
如果由于某种限制,一个请求没有被一个路由匹配,我该如何避免匹配请求的其他后续路由?我没有兴趣为以下路线设置任何约束。