路由 ASP.NET Core 5 - id 的默认值始终返回 0

Dan*_*rte 6 c# asp.net-mvc routes asp.net-core

我有一个 ASP.NET Core 5 项目,我需要的很简单。我想在id值中指示路由中的默认 int 值。但是,当我跟踪控制器时,它总是返回 id 作为0null

public IActionResult Seccion(int id)
{
   
    return View();
}
Run Code Online (Sandbox Code Playgroud)

这是我的 Start.up 文件

 app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=podcast}/{action=Index}/{id?}");

            endpoints.MapControllerRoute(
                        name: "historias",
                        pattern: "seccion/{id=300}",
                        defaults: new { controller = "Podcast", action = "Seccion" });

        });
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我希望输入时https://localhost:xxx/podcast/seccion/historias调用Seccion()操作方法并默认id设置为。300但该来的id总会到来0

Nim*_*ebi 1

你应该在 Action 中设置默认值

public IActionResult Seccion(int id = 300)
{
   
    return View();
}
Run Code Online (Sandbox Code Playgroud)

通话时间https://localhost:xxx/podcast/seccion id300 通话https://localhost:xxx/podcast/seccion/1 id时间1

欲了解更多信息,请阅读此内容