在 Blazor 中,可以通过使用内置的 NavigationManager
类来导航到 Razor 页面。以下是使用 NavigationManager
在 Blazor 中从控制器导航到 Razor 页面的步骤:
NavigationManager
:using Microsoft.AspNetCore.Components;
public class MyController : Controller
{
private readonly NavigationManager _navigationManager;
public MyController(NavigationManager navigationManager)
{
_navigationManager = navigationManager;
}
// ...
}
_navigationManager.NavigateTo
方法导航到 Razor 页面:public IActionResult MyAction()
{
_navigationManager.NavigateTo("/MyPage");
// ...
}
这将导航到名为 MyPage
的 Razor 页面。
请注意,需要在 Blazor 应用程序的起始页上注册该控制器。
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{action}/{id?}");
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
以上就是从控制器导航到 Razor 页面的解决方法。