Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/BootstrapBlazor/BootstrapBlazor.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">

<PropertyGroup>
<Version>9.6.4</Version>
<Version>9.6.5-beta01</Version>
</PropertyGroup>

<ItemGroup>
Expand Down
4 changes: 2 additions & 2 deletions src/BootstrapBlazor/Components/Layout/Layout.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -500,8 +500,8 @@ protected override async Task OnInitializedAsync()
// wasm 模式下 开启权限必须提供 AdditionalAssemblies 参数
AdditionalAssemblies ??= [Assembly.GetEntryAssembly()!];

var uri = Navigation.ToAbsoluteUri(Navigation.Uri);
var context = RouteTableFactory.Create(AdditionalAssemblies, uri.LocalPath);
var url = Navigation.ToBaseRelativePathWithoutQueryString();
var context = RouteTableFactory.Create(AdditionalAssemblies, url);
if (context.Handler != null)
{
IsAuthenticated = await context.Handler.IsAuthorizedAsync(ServiceProvider, AuthenticationStateTask, Resource);
Expand Down
23 changes: 23 additions & 0 deletions src/BootstrapBlazor/Extensions/NavigationManagerExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,27 @@
option.Closable = closable;
navigation.NavigateTo(url);
}

/// <summary>
/// 获得当前 Url 的相对路径不包含 QueryString 和 Hash
/// </summary>
/// <param name="navigationManager"></param>
/// <returns></returns>
public static string ToBaseRelativePathWithoutQueryString(this NavigationManager navigationManager)
{
var url = navigationManager.ToBaseRelativePath(navigationManager.Uri);

var index = url.IndexOf('?');
if (index > -1)
{
url = url[..index];
}

Check warning on line 46 in src/BootstrapBlazor/Extensions/NavigationManagerExtensions.cs

View check run for this annotation

Codecov / codecov/patch

src/BootstrapBlazor/Extensions/NavigationManagerExtensions.cs#L44-L46

Added lines #L44 - L46 were not covered by tests

index = url.IndexOf('#');
if (index > -1)
{
url = url[..index];
}

Check warning on line 52 in src/BootstrapBlazor/Extensions/NavigationManagerExtensions.cs

View check run for this annotation

Codecov / codecov/patch

src/BootstrapBlazor/Extensions/NavigationManagerExtensions.cs#L50-L52

Added lines #L50 - L52 were not covered by tests
return url;
}
}