Jquery 请求';在Ajax调用中,s RoutedData为空

Jquery 请求';在Ajax调用中,s RoutedData为空,jquery,asp.net-mvc-4,routes,Jquery,Asp.net Mvc 4,Routes,我有一个应用程序,根据发送的区域设置对请求进行了本地化。例如:/en/MyController/MyAction。然后我检查发送的区域设置: if (request.RequestContext.RouteData.Values["locale"] != null) { locale = request.RequestContext.RouteData.Values["locale"].ToString(); }

我有一个应用程序,根据发送的区域设置对请求进行了本地化。例如:/en/MyController/MyAction。然后我检查发送的区域设置:

        if (request.RequestContext.RouteData.Values["locale"] != null)
        {
            locale = request.RequestContext.RouteData.Values["locale"].ToString();
        }

        return locale;
除了(似乎)Ajax调用之外,这一切都很好。当我通过自定义AJAX表单HTML helper request.RequestContext.RouteData.Values[“locale”]进行AJAX调用时,即使“一瞥”显示路由按其应匹配,也会显示为null:

 {locale}/MyArea/{controller}/{action}/{id}
我的表单HTML助手

    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);
    }
BuildLocalizeDuroteValuesDictionary将locale添加到RouteValuesDictionary(如果其存在于请求中),并根据路由值(本地化区域、本地化默认或默认路由)返回路由名称

Url在包含区域设置的情况下生成良好,并调用相应的操作,但RouteData集合为空并导致本地化回退到默认区域设置


有什么想法吗?我试着搜索我能想到的所有东西,但找不到类似的问题

你有没有找到解决办法?