这个问题在使用Blazor Server 时经常出现,通常是由于自定义RoutView时未正确设置路由的原因。为了修复这个问题,你需要在URL上添加一个反斜杠。例如,将页面从 /login 更改为 /login/。这确保了当 Blazor 试图导航时,一定会带上正确的路由路径。
以下是一个示例:
App.razor 中:
Not found
Sorry, there's nothing at this address.
RedirectToLogin.razor 中:
@code {
[Inject]
private NavigationManager NavigationManager { get; set; }
private string buttonText = "Log in";
private bool isLoggingIn = false;
private async Task LogIn()
{
isLoggingIn = true;
// Navigate to Login page
NavigationManager.NavigateTo("/login");
}
}