Asp – Strange route problem in ASP.NET MVC – default route not hit

asp.net-mvc

I have this two routes currently in my application after decommenting out many other ones. Let me first explain that I have quite a big application already but have come to a problem where my application does not start at the root url anymore.

If I set starting page to default.aspx then webapp starts at (example) http://localhost:55421/Default.aspx. I don't want that. I want it without Default.aspx

So I went into app properties and removed Default.aspx as starting page – now it is blank field (just like in a sample new MVC app if you create it in VS 2008).

But now application does start at the required URL but issues an error:
"The incoming request does not match any route."

Also If I use route debugger it also misses all routes and catches it by catchall route.

I don't know how all of this is possible since as I said above I have two default routes configured at this time:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Pages", action = "Display", slug = "Default" }
);

Any help appreciated

Best Answer

Am I right in thinking you are trying to hit

http://server/{controller}/{action}/{id} 

with

http://server/

If you are I think you need to provide a default for the last parameter {id}. You have a default for a parameter slug but without a default for {id} I don't think ASP.NET Routing can hit it.

If I'm right

http://server/Pages/Display 

should also not hit the default route, because you are expecting id in Display?

HTH Alex