繁体   English   中英

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

[英]How to navigate to an ASP.NET Core MVC controller in Blazor app?

我有DownloadController.csControllers/DownloadController使用以下方法:

public async Task<ActionResult> DownloadFile(string key) 
{
    return File(...);
}

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

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

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

@Html.ActionLink(...);

这应该做:

@page "/MvcLinkExample"
@inject NavigationManager NavigationManager

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

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

MVC 使用“路由”来配置端点(控制器/操作/区域)映射。

在您提供的示例中,路由将解析为 http(s)://[hostname or ip]/Download/DownloadFile/。

使用“默认路由”,'key' 查询字符串参数可以通过 ?key=[value-xxx] 作为基本实现提供。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM