在Blazor中,使用C#實現路由有多種方法,這里為您提供兩個最常見的方案:
NavigationManager
類進行導航:首先,需要在Program.cs
文件中注冊NavigationManager
服務:
public static void Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.Services.AddScoped(sp => new NavigationManager(builder.HostEnvironment.BaseAddress));
// ...其他服務配置
builder.Build().Run();
}
然后,在需要實現路由的組件中,通過依賴注入獲取NavigationManager
實例,并使用NavigateTo
方法進行導航:
@inject NavigationManager NavigationManager
<button @onclick="Navigate">Go to page</button>
@code {
private void Navigate()
{
NavigationManager.NavigateTo("/page-path");
}
}
RouteView
組件進行路由顯示:首先,在App.razor
文件中添加RouteView
組件,并設置RouteData
屬性:
@app
<component type="typeof(AppRouteView)" render-mode="ServerPrerendered" />
接下來,在需要定義路由規則的組件中,使用RouteView
組件,并通過Routes
屬性設置路由規則:
@page "/page-path"
<h3>Welcome to the page!</h3>
最后,在Program.cs
文件中配置路由表:
public static void Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.Services.AddRazorPages();
// ...其他服務配置
builder.Build().Run();
}
這樣,當用戶點擊按鈕時,應用程序將導航到指定的頁面。