在ASP.NET Core 6 MVC中,如果动作方法的路由参数导致动作未找到,可以按照以下步骤进行解决:
[Route("api/[controller]")]
[ApiController]
public class MyController : ControllerBase
{
[HttpGet("{id}")]
public IActionResult Get(int id)
{
// code logic
}
}
上述代码中,Get
方法使用了[HttpGet("{id}")]
特性来指定路由参数。
ConfigureServices
方法中添加了MVC服务。例如:public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
}
上述代码中,services.AddControllers()
方法会添加MVC服务。
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index" }
);
});
上述代码中,pattern
参数指定了路由模板,{controller}/{action}/{id}
表示控制器、动作和id参数。
/MyController/Get/1
。如果以上步骤都正确无误,但仍然出现动作未找到的错误,可以尝试重启应用程序或清除浏览器缓存,以确保更改生效。另外,还可以通过在动作方法上添加日志记录或调试断点来进一步排查问题。