如何导航到 Blazor 应用程序中的 ASP.NET Core MVC 控制器?

Ada*_*dam 7 c# asp.net-mvc controller razor blazor

DownloadController.csControllers/DownloadController下面的方法:

public async Task<ActionResult> DownloadFile(string key) 
{
    return File(...);
}
Run Code Online (Sandbox Code Playgroud)

此外,在我的Startup.cs配置中,我配置了以下端点:

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default".
        pattern: "{controller}/{action}");
    endpoints.MapControllers();
    endpoints.MapBlazorHub();
    endpoints.MapFallbackToPage("/_Host");
});
Run Code Online (Sandbox Code Playgroud)

那么如何在 Blazor 视图中导航到控制器操作?我正在寻找类似的东西:

@Html.ActionLink(...);
Run Code Online (Sandbox Code Playgroud)

Kyl*_*yle 8

这应该做:

@page "/MvcLinkExample"
@inject NavigationManager NavigationManager

<button @onclick="NavigateToMvcPage">MVC Link</button>

@code {
    private void NavigateToMvcPage()
    {
        NavigationManager.NavigateTo("controllername/actionname/10", true);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • NavigateTo 方法的第二个参数 (true) 对我的情况有所帮助。我认为这个答案是正确的。 (2认同)