在路由属性中添加默认操作

Ben*_*enk 2 c# asp.net-mvc asp.net-core

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

[Route("cars/[action]")]
public class CarsRegistrationController : Controller
{
    public IActionResult Index()
    { ... }
}
Run Code Online (Sandbox Code Playgroud)

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

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

[Route("cars/{action=index}")]
[Route("cars/[action:index]")]
Run Code Online (Sandbox Code Playgroud)

ado*_*lja 5

正如您可以在 ASP.NET Core 文档(https://learn.microsoft.com/en-us/aspnet/core/mvc/controllers/routing)中阅读的那样,在控制器上放置路由意味着它将与其行动路线。

[Route("[cars]")]
public class CarsRegistrationController : Controller
{
   [Route("~/cars")]   // Matches "~/cars"
   [Route("")]         // Matches "~/cars/Index"
   public IActionResult Index() => View();
}
Run Code Online (Sandbox Code Playgroud)