title: ActionLink is not passing parameter to the Controller -- asp.Net MVC 4
body: <p>Please i am having an issue with one of my controllers for hours now. I have succesfully use similar metothos through out the project. However, for some reason this controller's paramterer is always null. Below is my controller.</p>
  
  <pre><code>[Authorize(Roles = "Employer")]
  public class EmployerController : Controller
  {
    [HttpGet]
    public ActionResult Index(long? id)
    {
  
    }
  </code></pre>
  
  <p>}</p>
  
  <p>My Action Link is below</p>
  
  <pre><code> &lt;p&gt;@Html.ActionLink("View jobs", "Index", "Employer", new { id = userid})&lt;/p&gt;
  </code></pre>
  
  <p>I used a break point and confirmed that my userid is not null.</p>
  
  <p>Below is my routing.</p>
  
  <pre><code> public static void RegisterRoutes(RouteCollection routes)
          {
              routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
              routes.MapRoute(
                 name: null,
                 url: "{controller}/Page{page}",
                 defaults: new { Controller = "Home", action = "Index" }
                 );
              routes.MapRoute(
                  name: null,
                  url: "{Controller}",
                  defaults: new { Controller = "Home", action = "Index" }
                  );
  
            routes.MapRoute(
            name: null,
            url: "{controller}/{action}/{id}/{title}",
            defaults: new
            {
                controller = "Home",
                action = "Index",
                title=UrlParameter.Optional,
                id = UrlParameter.Optional
            }
            );
              routes.MapRoute(
              name: "Default",
              url: "{controller}/{action}/{id}",
              defaults: new
              {
                  controller = "Home",
                  action = "Index",
                  id = UrlParameter.Optional
              }
              );
              routes.MapRoute(null, "{controller}/{action}");
          }
      }
  </code></pre>
  
  <p>I am expecting my action to be served by route four .</p>
  
  <pre><code>routes.MapRoute(
                  name: "Default",
                  url: "{controller}/{action}/{id}",
                  defaults: new
                  {
                      controller = "Home",
                      action = "Index",
                      id = UrlParameter.Optional
                  }
  </code></pre>
  
  <p>Previously my controller parameter was employerId, then i though that may be the cause of my error because i use id in route. I changed to id and yet still is passing empty. My url is returning something like.</p>
  
  <pre><code>Employer?Length=8
  </code></pre>
  
  <p>Where do the LEnghth came from ? Please where do i go wrong? Any help would be appreciated.</p>