要在Blazor应用程序中实现路由导航到静态页面,您可以使用NavigationManager类的NavigateTo方法。以下是一个示例解决方案,包含代码示例:
在Blazor应用程序的Pages文件夹中创建一个名为StaticPage.cshtml的静态页面。
在Blazor应用程序的Pages文件夹中创建一个名为NavigationService.cs的服务类。该类将包含路由导航的逻辑。
using Microsoft.AspNetCore.Components;
using System;
public class NavigationService
{
private readonly NavigationManager _navigationManager;
public NavigationService(NavigationManager navigationManager)
{
_navigationManager = navigationManager;
}
public void NavigateToStaticPage()
{
var uri = new Uri(_navigationManager.BaseUri + "StaticPage.cshtml");
_navigationManager.NavigateTo(uri.AbsoluteUri);
}
}
Startup.cs文件中注册NavigationService服务。using Microsoft.Extensions.DependencyInjection;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton();
}
public void Configure(IComponentsApplicationBuilder app)
{
app.AddComponent("app");
}
}
NavigationService服务,并使用NavigateToStaticPage方法导航到静态页面。@inject NavigationService NavigationService
@code {
private void NavigateToStaticPage()
{
NavigationService.NavigateToStaticPage();
}
}
通过这种方式,当用户单击“导航到静态页面”按钮时,将调用NavigateToStaticPage方法,该方法将使用NavigationManager类导航到静态页面。