title: Url.Action does not give the expected result. Unwanted route values remain
body: <p>I have a MVC3 app with several routes. Two of them are defined like this:</p>
  
  <pre><code>routes.MapRoute(
    null,
    "System/{name}", // URL with parameters
    new { controller = "Systems", action = "Index" } // Parameter defaults
  );
  routes.MapRoute(
    null,
    "Carrier/{name}", // URL with parameters
    new { controller = "Carriers", action = "Index" } // Parameter defaults
  );
  </code></pre>
  
  <p>Now, in my menu I have two links to these routes that are created using Url.Action:</p>
  
  <pre><code>Url.Action("Index","Systems")
  Url.Action("Index","Carriers")
  </code></pre>
  
  <p>Now when i start the application, everything seems fine, and the links in the menu show as <code>/System/</code> and <code>/Carrier/</code>, and that is the expected value.</p>
  
  <p>However, when i browse to for example <code>/System/MySystem</code> in the web page i would still want the links to point to the same place, but now they point to <code>/System/MySystem</code> and <code>/Carrier/MySystem</code>.</p>
  
  <p>I have tried lots of things to keep the link from using the name from the route value, but to no avail. The strangest case i experienced was when i tried this:</p>
  
  <pre><code>Url.Action("Index","Systems", new{name = (string)null})
  </code></pre>
  
  <p>Now the link showed up as</p>
  
  <pre><code>/System?name=MySystem
  </code></pre>
  
  <p>Are there any good way here to make sure that the name value from the route values does not interfer with these links in any way?</p>