public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values) { RouteValueDictionary translatedValues = values; // > Establecer {lang} if (!values.ContainsKey("lang")) { values.Add("lang", CultureInfo.CurrentCulture.Name); } else if ((string)values["lang"] != CultureInfo.CurrentCulture.Name) { values["lang"] = CultureInfo.CurrentCulture.Name; } // > Traducir valores de la Ruta foreach (KeyValuePair <string, object> pair in this.RouteValueTranslationProviders) { IRouteValueTranslationProvider translationProvider = pair.Value as IRouteValueTranslationProvider; if ( translationProvider != null && translatedValues.ContainsKey(pair.Key) ) { RouteValueTranslation translation = translationProvider.TranslateToTranslatedValue( translatedValues[pair.Key].ToString(), CultureInfo.CurrentCulture ); translatedValues[pair.Key] = translation.TranslatedValue; } } return(base.GetVirtualPath(requestContext, translatedValues)); }
public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values) { if (values.ContainsKey("childAction") && (bool)values["childAction"] == true) { return(base.GetVirtualPath(requestContext, values)); } RouteValueDictionary translatedValues = values; foreach (KeyValuePair <string, object> pair in this.RouteValueTranslationProviders) { IRouteValueTranslationProvider translationProvider = pair.Value as IRouteValueTranslationProvider; if (translationProvider != null && translatedValues.ContainsKey(pair.Key)) { RouteValueTranslation translation = translationProvider.TranslateToTranslatedValue( translatedValues[pair.Key].ToString(), CultureInfo.CurrentCulture); translatedValues[pair.Key] = translation.TranslatedValue; } } return(base.GetVirtualPath(requestContext, translatedValues)); }