ASP.NET Core 3.0 控制器路由不起作用的解决方法可能有多种。以下是一些常见的解决方法和示例代码:
services.AddControllersWithViews();
在 Configure 方法中添加以下代码:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
[Route("api/[controller]")]
public class HomeController : Controller
{
[HttpGet]
public IActionResult Index()
{
return View();
}
}
确保控制器类和方法的命名空间正确。确保命名空间与控制器文件的位置匹配。
如果使用了区域(Area),则需要在控制器类上添加 [Area] 特性。示例代码:
[Area("Admin")]
[Route("admin/[controller]")]
public class HomeController : Controller
{
[HttpGet]
public IActionResult Index()
{
return View();
}
}
Home
这些是一些常见的解决方法和示例代码,可以帮助解决 ASP.NET Core 3.0 控制器路由不起作用的问题。根据具体情况,可能还需要进一步调试和排查。