Blazor.HashRouting
1.1.1
dotnet add package Blazor.HashRouting --version 1.1.1
NuGet\Install-Package Blazor.HashRouting -Version 1.1.1
<PackageReference Include="Blazor.HashRouting" Version="1.1.1" />
<PackageVersion Include="Blazor.HashRouting" Version="1.1.1" />
<PackageReference Include="Blazor.HashRouting" />
paket add Blazor.HashRouting --version 1.1.1
#r "nuget: Blazor.HashRouting, 1.1.1"
#:package Blazor.HashRouting@1.1.1
#addin nuget:?package=Blazor.HashRouting&version=1.1.1
#tool nuget:?package=Blazor.HashRouting&version=1.1.1
Blazor.HashRouting
Blazor.HashRouting provides hash-fragment routing for browser-hosted Blazor WebAssembly applications.
It is designed for environments where the host can reliably serve only the application root document and cannot deep-link arbitrary route paths on refresh.
Installation
dotnet add package Blazor.HashRouting
Usage
Register hash routing during startup:
using Blazor.HashRouting;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.Services.AddHashRouting();
var host = builder.Build();
await host.InitializeHashRoutingAsync();
await host.RunAsync();
Call InitializeHashRoutingAsync() after Build() and before RunAsync().
Optional configuration:
builder.Services.AddHashRouting(options =>
{
options.HashPrefix = "/";
options.CanonicalizeToHash = true;
options.InterceptInternalLinks = true;
});
URL shape
- Root route:
/#/ - Nested route:
/#/foo - Base-path route:
/proxy/app/#/foo
Relative links
Relative anchor href values such as ./bar are resolved relative to the application base URI, not the current hash route.
For example, from /#/foo, an anchor with href="./bar" canonicalizes to /#/bar, not /#/foo/bar.
Supported environments
- Blazor WebAssembly in a browser
Limitations
- Not intended for Blazor Server.
- Not intended for Blazor Hybrid.
- Assumes the host can serve the application root document and static assets, but may not support deep-link route paths.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.AspNetCore.Components.WebAssembly (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
-
net9.0
- Microsoft.AspNetCore.Components.WebAssembly (>= 9.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.