title: MVC Routing not working as expected
body: <p>I'm trying to get to grips with the MVC Routing system but its not working as I would expect.</p>
  
  <p>Say I have this route defined:</p>
  
  <pre><code>context.MapRoute(
          "NewCertificates",
          "NewQuote/GetCertificate/{date}/{id}",
          new { area = "NewQuote", controller = "Quote", action = "GetCertificate" },
          new[] { "Acme.Areas.NewQuote.Controllers" }
      );
  </code></pre>
  
  <p>And this Action Link in my View:</p>
  
  <pre><code>@Html.ActionLink("Click Here", "GetCertificate", new { controller = "Quote", area = "NewQuote", date = "20121219", id = "acme" })
  </code></pre>
  
  <p>I'd expect the generated URL to look like:</p>
  
  <pre><code>http://localhost:50582/NewQuote/GetCertificate/20121219/acme
  </code></pre>
  
  <p>but instead I get:</p>
  
  <pre><code>http://localhost:50582/NewQuote/GetCertificate/acme?date=20121219
  </code></pre>
  
  <p>Can anyone tell me why this is happening?</p>
  
  <p>Edit to show routes which precede the one mentioned above:</p>
  
  <pre><code>        context.MapRoute(
                  "NewQuoteValidation",
                  "NewQuote/Validation/{action}/{id}",
                  new { area = "NewQuote", controller = "Validation", action = "IsImeiAvailable", id = UrlParameter.Optional },
                  new[] { "Acme.Areas.NewQuote.Controllers" }
              );
  
          context.MapRoute(
                  "NewAjax",
                  "NewQuote/Ajax/{action}/{id}",
                  new { area = "NewQuote", controller = "Ajax", action = "Index", id = UrlParameter.Optional },
                  new[] { "Acme.Areas.NewQuote.Controllers" }
              );
  
          context.MapRoute(
                  "NewQuote",
                  "NewQuote/{action}/{id}",
                  new { area = "NewQuote", controller = "Quote", action = "Select", id = UrlParameter.Optional },
                  new[] { "Acme.Areas.NewQuote.Controllers" }
              );
  </code></pre>