title: how to replace underline with dash in inside area?
body: <p>I'm using asp.net MVC 3 for my website , I want to replace underlines with dashes in my addresses . I can do it . but when I want to replace them inside a area I can't do it . </p>
  
  <p>who can help me ?</p>
  
  <p>this is my code : </p>
  
  <pre><code>public class HyphenatedRouteHandler : MvcRouteHandler
          {
              protected override IHttpHandler GetHttpHandler(RequestContext requestContext)
              {
                  requestContext.RouteData.Values["controller"] = requestContext.RouteData.Values["controller"].ToString().Replace("-", "_");
                  requestContext.RouteData.Values["action"] = requestContext.RouteData.Values["action"].ToString().Replace("-", "_");
                  return base.GetHttpHandler(requestContext);
              }
          }
  </code></pre>
  
  <p>and this is my area route : </p>
  
  <pre><code>context.MapRoute(
                  "products_default",
                  "products/{controller}/{action}",
                  new { controller = "All", action = "Index" }
              );
  </code></pre>
  
  <p>I want to navigate this address :</p>
  
  <p>localhost:1559/products/store-builder/boronz</p>
  
  <p>product is my area name . of course when I navigate this address :</p>
  
  <p>localhost:1559/products/store_builder/boronz</p>
  
  <p>it shows page . </p>
  
  <p><strong>EDIT :</strong> </p>
  
  <p>I use this for my area route but it can't detect this is an area :</p>
  
  <pre><code>//context.Routes.Add(
  //    new Route("products/{controller}/{action}",
  //    new RouteValueDictionary(
  //        new { controller = "", action = "Index" }),
  //        new MyProject.MvcApplication.HyphenatedRouteHandler())
  //);
  </code></pre>
  
  <p>how can I fix this ?</p>