Skip to content

Commit c0e8878

Browse files
authored
fix(Tab): add OrdinalIgnoreCase parameter compatible locales (#6215)
* refactor: 移除 RouteTabFactory 老代码 * fix: 增加忽略文化信息代码 * chore: bump version 9.7.3-beta01 * refactor: 提升性能
1 parent f120ef6 commit c0e8878

File tree

2 files changed

+3
-43
lines changed

2 files changed

+3
-43
lines changed

src/BootstrapBlazor/BootstrapBlazor.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Razor">
22

33
<PropertyGroup>
4-
<Version>9.7.3</Version>
4+
<Version>9.7.4-beta01</Version>
55
</PropertyGroup>
66

77
<ItemGroup>

src/BootstrapBlazor/Router/RouteTableFactory.cs

Lines changed: 2 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -8,46 +8,6 @@
88
namespace BootstrapBlazor.Components;
99

1010
[ExcludeFromCodeCoverage]
11-
#if NET5_0
12-
internal static class RouteTableFactory
13-
{
14-
[NotNull]
15-
private static Microsoft.AspNetCore.Components.Routing.IRouteTable? Routes { get; set; }
16-
private static readonly HashSet<Assembly> _assemblies = new();
17-
18-
/// <summary>
19-
///
20-
/// </summary>
21-
/// <param name="assemblies"></param>
22-
/// <param name="url"></param>
23-
/// <returns></returns>
24-
public static RouteContext Create(IEnumerable<Assembly>? assemblies, string url)
25-
{
26-
RefreshRouteTable(assemblies);
27-
if (url.IndexOf("?") > 0) url = url[..url.IndexOf("?")];
28-
var routeContext = new Microsoft.AspNetCore.Components.Routing.RouteContext(url);
29-
Routes.Route(routeContext);
30-
return new RouteContext()
31-
{
32-
Handler = routeContext.Handler,
33-
Parameters = routeContext.Parameters,
34-
Segments = routeContext.Segments
35-
};
36-
}
37-
38-
private static void RefreshRouteTable(IEnumerable<Assembly>? assemblies)
39-
{
40-
assemblies ??= Enumerable.Empty<Assembly>();
41-
var assembliesSet = new HashSet<Assembly>(assemblies);
42-
if (!_assemblies.SetEquals(assembliesSet))
43-
{
44-
Routes = Microsoft.AspNetCore.Components.Routing.RouteTableFactory.Create(assemblies);
45-
_assemblies.Clear();
46-
_assemblies.UnionWith(assembliesSet);
47-
}
48-
}
49-
}
50-
#else
5111
internal static class RouteTableFactory
5212
{
5313
[NotNull]
@@ -63,7 +23,8 @@ internal static class RouteTableFactory
6323
public static RouteContext Create(IEnumerable<Assembly> assemblies, string url)
6424
{
6525
RefreshRouteTable(assemblies);
66-
if (url.IndexOf("?") > 0) url = url[..url.IndexOf("?")];
26+
var len = url.IndexOf("?", StringComparison.OrdinalIgnoreCase);
27+
if (len > 0) url = url[..len];
6728
var routeContext = new Microsoft.AspNetCore.Components.Routing.RouteContext(url);
6829
Routes.Route(routeContext);
6930
return new RouteContext()
@@ -85,4 +46,3 @@ private static void RefreshRouteTable(IEnumerable<Assembly> assemblies)
8546
}
8647
}
8748
}
88-
#endif

0 commit comments

Comments
 (0)