title: ASP.NET MVC - Catch All Route And Default Route
body: <p>In trying to get my application to produce 404 errors correctly, I have implemented a catch all route at the end of my route table, as shown below:</p>
  
  <pre><code> routes.MapRoute(
              "NotFound", _
             "{*url}", _
             New With {.controller = "Error", .action = "PageNotFound"} _
         )
  </code></pre>
  
  <p>However, to get this working, I had to remove the default route:</p>
  
  <pre><code>{controller}/action/{id}
  </code></pre>
  
  <p>But now that the default has been removed, most of my action links no longer work, and the only way I have found to get them working again is to add individual routes for each controller/action. </p>
  
  <p>Is there a simpler way of doing this, rather than adding a route for each controller/action? </p>
  
  <p>Is it possible to create a default route that still allows the catch all route to work if the user tries to navigate to an unknown route?</p>