Browse Source
fix: Adjust route constraint to handle URL generation without HttpContext and update route order for Razor Pages
pull/25174/head
maliming
6 months ago
No known key found for this signature in database
GPG Key ID: A646B9CB645ECEA4
2 changed files with
4 additions and
3 deletions
-
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Localization/AbpCultureRouteConstraint.cs
-
framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Localization/AbpCultureRoutePagesConvention.cs
|
|
@ -23,11 +23,12 @@ public class AbpCultureRouteConstraint : IRouteConstraint |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
var languages = httpContext?.RequestServices |
|
|
var languages = httpContext?.RequestServices |
|
|
.GetRequiredService<IOptions<AbpLocalizationOptions>>().Value.Languages; |
|
|
.GetService<IOptions<AbpLocalizationOptions>>()?.Value.Languages; |
|
|
|
|
|
|
|
|
if (languages == null || languages.Count == 0) |
|
|
if (languages == null || languages.Count == 0) |
|
|
{ |
|
|
{ |
|
|
return false; |
|
|
// During URL generation, HttpContext or services may not be available.
|
|
|
|
|
|
return routeDirection == RouteDirection.UrlGeneration; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return languages.Any(l => |
|
|
return languages.Any(l => |
|
|
|
|
|
@ -34,7 +34,7 @@ public class AbpCultureRoutePagesConvention : IPageRouteModelConvention |
|
|
AttributeRouteModel = new AttributeRouteModel |
|
|
AttributeRouteModel = new AttributeRouteModel |
|
|
{ |
|
|
{ |
|
|
Template = AttributeRouteModel.CombineTemplates(CultureRouteTemplate, originalTemplate), |
|
|
Template = AttributeRouteModel.CombineTemplates(CultureRouteTemplate, originalTemplate), |
|
|
Order = 1 |
|
|
Order = -1 |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|