This post is old, but you could not write a route to your default route.
this will only result in route tracking using the "provider" in args
routes.MapRoute( null, "Document/Display/{id}?{args}", new { controller = "VendorController", action = "OtherAction" }, new { args=@ ".*(vendor).*"}//believe this is correct regex to catch "vendor" anywhere in the args
);
And it will catch the rest
routes.MapRoute( null, "Document/Display/{id}?{args}", new { controller = "DisplayController", action = "OtherAction" } );
I have not tried this and I am new to MVC, but I believe this should work? From what I understand, if the restriction does not match the route, it is not used. Thus, he will check the next route. Since your next route does not use any restrictions for the arguments, it must match the route.
I tried this and it worked for me.
source share