Route myroute1 = new Route("{controller}/{action}/{slug}", new MyRouteHandler());
Route myroute2 = new Route("{controller}/{action}", new MyRouteHandler());
Route myroute3 = new Route("{controller}", new MyRouteHandler());
Routes.Add(myroute1);
Routes.Add(myroute2);
Routes.Add(myroute3);
Route myroute1 = new Route("{controller}/{action}/{slug}", new MyRouteHandler());
myroute1.Defaults = new RouteValueDictionary { { "slug", "form" } }; // working great.
Route myroute2 = new Route("{controller}/{action}", new MyRouteHandler());
// its not functional now :(
Can you post your entire route handler code. Something must be going wrong in there. As I usually use different methods for each, although it is not needed. I just want to see your you build your path