路径属性中的“ Asp.net Core添加默认操作”

时间:2019-04-29 21:09:33

标签: c# asp.net-mvc asp.net-core

如何使用Route属性设置默认操作

[Route("cars/[action]")]
public class CarsRegistrationController : Controller
{
    public IActionResult Index()
    { ... }
}

汽车/索引有效,但如果我转到/汽车(不输入操作名称),我希望它重定向到默认操作索引/汽车/索引

我尝试将Route修改为:不走运,如何修复语法

[Route("cars/{action=index}")]
[Route("cars/[action:index]")]

1 个答案:

答案 0 :(得分:0)

正如您可以在ASP.NET Core(https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing?view=aspnetcore-2.2)文档中阅读的那样,将路由放置在控制器上意味着它将与操作上的路由结合。如果您在操作上放置一个空路由,则该操作上的路由将与控制器路由匹配

[Route("[controller]")]
public class CarsRegistrationController : Controller
{
   [Route("")]     // Matches 'Products'
   [Route("Index")] // Matches 'Products/Index'
   public IActionResult Index()
}