title: Request's RouteData is empty on Ajax call
body: <p>I have an application where I've localized requests based on sent locale. For example: /en/MyController/MyAction. Then I check for sent locale:</p>
  
  <pre><code>        if (request.RequestContext.RouteData.Values["locale"] != null)
          {
              locale = request.RequestContext.RouteData.Values["locale"].ToString();
          }
  
          return locale;
  </code></pre>
  
  <p>That works fine, except for (it seems) Ajax calls. When I make an AJAX call via my custom Ajax form HTML helper request.RequestContext.RouteData.Values["locale"] is null even though Glimpse shows route is matched as it should: </p>
  
  <pre><code> {locale}/MyArea/{controller}/{action}/{id}
  </code></pre>
  
  <p>My Form HTML Helper</p>
  
  <pre><code>    public static MvcForm BeginFormLocalized(this AjaxHelper ajax, string action, object routeValues, AjaxOptions options)
      {
          RouteValueDictionary routeDictionary = UrlHelpers.BuildLocalizedRouteValuesDictionary(ajax.ViewContext.RequestContext, routeValues);
          routeDictionary.Add("action", action);
          string routeName = UrlHelpers.GetAppropriateRouteName(routeDictionary);
  
          return ajax.BeginRouteForm(routeName, routeDictionary, options);
      }
  </code></pre>
  
  <p>BuildLocalizedRouteValuesDictionary adds locale to RouteValuesDictionary if its present in request and GetAppropriateRouteName returns route name according to route values (localized area, localized default or default route). </p>
  
  <p>Url is generated fine with locale included and also invokes the corrent action but RouteData collection is empty and causes localization to fallback to default locale.</p>
  
  <p>Any ideas? I've tried searching everything I could think of but couldn't find a similar issue. </p>