title: Use a specific route with Url.Action
body: <p>I have two routes declared in my route config like this:</p>
  
  <pre><code>routes.MapRoute(
      name: "SpecificAction",
      url: "{controller}/{action}/{id}-{id2}",
      defaults: new { controller = "Main", action = "SpecificAction", id = UrlParameter.Optional, id2 = UrlParameter.Optional }
  );
  
  routes.MapRoute(
      name: "DefaultNoParams",
      url: "{controller}/{action}/",
      defaults: new { controller = "Main", Action = "Index" },
      namespaces: new string[1] { "Project.Controllers" }
  );
  </code></pre>
  
  <p>I have two controller actions that look like this:</p>
  
  <pre><code>[HttpGet]
  public ActionResult TheAction()
  {
  
  }
  
  [HttpPost]
  public ActionResult TheAction([ModelBinder(typeof(SpecificModelBinder))] SpecificModel model)
  {
  
  }
  </code></pre>
  
  <p>I want a link to the first of these actions in my view, so I generate one using <code>Url.Action</code>:</p>
  
  <pre><code>&lt;a href="@Url.Action("TheAction", "Main")"&gt;The Action&lt;/a&gt;
  </code></pre>
  
  <p>However, this outputs the url <code>http://site/Main/TheAction/-</code> (note the dash at the end, which seems to indicate that my <code>SpecificAction</code> route is being used. </p>
  
  <p>Is there some way I can call <code>Url.Action</code> with a specific route? Or is there any other way I can avoid this dash appearing in the url? </p>