在Blazor中,路由功能由Microsoft.AspNetCore.Components.Routing
命名空間下的Router
組件來實現。要實現路由功能,首先需要在Startup.cs
文件中配置路由規則。可以使用MapFallbackToPage
方法指定默認的路由規則,也可以使用MapRoute
方法配置自定義的路由規則。
public void Configure(IComponentsApplicationBuilder app)
{
app.AddComponent<App>("app");
app.UseRouting();
app.MapFallbackToComponent<Index>("/index");
}
然后在App.razor
文件中使用Router
組件定義路由規則,為每個路由指定對應的組件。
<Router AppAssembly="typeof(Program).Assembly">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
</Found>
<NotFound>
<p>Page not found</p>
</NotFound>
</Router>
在上面的示例中,Router
組件會根據路由規則渲染對應的組件。如果路由未匹配到任何組件,則會渲染<NotFound>
內的內容。
另外,Blazor還支持在組件中使用NavigationManager
來進行編程式導航,可以使用NavigateTo
方法跳轉到指定的路由。
@code {
[Inject]
private NavigationManager NavigationManager { get; set; }
private void NavigateToIndex()
{
NavigationManager.NavigateTo("/index");
}
}
通過以上步驟,可以實現Blazor應用程序的路由功能。