title: Help me get this ASP.NET MVC2 RC ActionLink to work?
body: <p>I could have SWORN I had this working, but somewhere along the line I apparently broke it. Maybe it was during my migration from ASP.NET MVC in VS2008 to ASP.NET MVC2 in VS2010.</p>
  
  <p>My ActionLink:</p>
  
  <pre><code>Html.ActionLink(segment.TitleWithChapterNumber, "Index", "Read", new { bookCode = Model.Product.Id, segmentCode = segment.Index }, null)
  </code></pre>
  
  <p>The route I expect it to match:</p>
  
  <pre><code>routes.MapRoute(
      "Read",
      "Read/{bookCode}/{segmentCode}/{sectionCode}/{renderStrategy}",
      new { controller = "Read", action = "Index", bookCode = "", segmentCode = "", sectionCode = "", renderStrategy = "" }
  );
  </code></pre>
  
  <p>This renders a link that looks like: <code>http://localhost/Obr/Read?bookCode=14&amp;segmentCode=0</code>
  But I want it to look like <code>http://localhost/Obr/Read/14/0</code>
  Clicking the link that it renders does take me to the right controller and the response is accurate. If I paste in the link I WANT it to look like, it does work. I guess it's just not matching?</p>
  
  <p>Am I missing something obvious? I've stared at it so long I don't even know what I am looking for anymore.</p>
  
  <p>For reference, here are ALL of my routes:</p>
  
  <pre><code>routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
  
  routes.MapRoute(
      "ReadImage",
      "Read/Image/{bookId}/{imageName}",
      new { controller = "Read", action = "Image" }
  );
  
  routes.MapRoute(
      "Read",
      "Read/{bookCode}/{segmentCode}/{sectionCode}/{renderStrategy}",
      new { controller = "Read", action = "Index", bookCode = "", segmentCode = "", sectionCode = "", renderStrategy = "" }
  );
  
  routes.MapRoute(
      "BookReport",
      "BookReport/{action}/{folder}",
      new { controller = "BookReport", action = "Details", folder = "" }
  );
  
  routes.MapRoute(
      "Reference",
      "Reference/Details/{referenceType}/{searchText}",
      new { controller = "Reference", action = "Details", referenceType = "", searchText = "" }
  );
  
  routes.MapRoute(
      "PaginatedAudits",                                      // Route name
      "Audit/Page/{pageNumber}",                              // URL with parameters
      new { controller = "Audit", action = "Index" }          // Parameter defaults
  );
  
  routes.MapRoute(
      "PaginatedReadLog",                                     // Route name
      "ReadLog/Page/{pageNumber}",                            // URL with parameters
      new { controller = "ReadLog", action = "Index" }        // Parameter defaults
  );
  
  routes.MapRoute(
      "Default",                                              // Route name
      "{controller}/{action}/{id}",                           // URL with parameters
      new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
  );
  </code></pre>
  
  <p>The action signature looks like this:</p>
  
  <pre><code>[Authorize]
  public ActionResult Index(string bookCode, string segmentCode, string sectionCode, string renderStrategy)
  {
      // code
  }
  </code></pre>