title: ActionLink is showing query string instead of URL parameters
body: <p>My question is very similar other questions. When using an ActionLink in MVC .Net 4.5, I am getting a query string for one parameter, instead of just a URL path. I tried the solution <a href="https://stackoverflow.com/questions/7499320/actionlink-to-show-parameters-in-url-instead-of-querystring">HERE</a>, but it did not work.</p>
  
  <p><strong>CODE-</strong></p>
  
  <p>Inside RouteConfig.cs -</p>
  
  <pre><code>  routes.MapRoute(
              name: "Default",
              url: "{controller}/{action}/{id}",
              defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
          );
  
    routes.MapRoute(
              name: "MyControllerRoute",
              url: "{controller}/{action}/{id}/{description}",
              defaults: new { controller = "MyController", action = "MyAction", id = UrlParameter.Optional, description = UrlParameter.Optional }
          );
  </code></pre>
  
  <p>Inside HomeController.cs -</p>
  
  <pre><code>public ActionResult Index(){
    --do stuff--
     return View();
  }
  </code></pre>
  
  <p>Inside MyController.cs -</p>
  
  <pre><code>public ActionResult Vote(int id, string description){
     --do stuff--
     return View();
  }
  </code></pre>
  
  <p>Inside Index.cshtml</p>
  
  <pre><code>@Html.ActionLink(
         "This is stuff", 
         "MyAction", 
         "MyController", 
         new { id = 123, description = "This-is-stuff"  }, 
         null)
  </code></pre>
  
  <p><strong>GETTING THIS RESULT - (NOT WHAT I WANT)</strong></p>
  
  <pre><code>&lt;a href="/MyController/MyAction/123?description=This-is-stuff"&gt;This is stuff&lt;/a&gt;
  </code></pre>
  
  <p><strong>DESIRED RESULT - (HOW CAN I GET THIS?)</strong></p>
  
  <pre><code>&lt;a href="/MyController/MyAction/123/This-is-stuff"&gt;This is stuff&lt;/a&gt;
  </code></pre>