要在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
类导航到静态页面。