Net 6 中的路由,如何允许 url {controller}/{action}/{id}/{string}

Routage in Net 6, how to allow url {controller}/{action}/{id}/{string}

在 program.cs 中我找到了这行代码:

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

但我不知道该怎么做才能让我的网站拥有这样的 URL: www.domain.com/mycontroller/id/title

你能帮我实现这个目标吗? 我需要改变什么? 在控制器中我需要添加一些东西吗? link asp-动作应该如何? 谢谢

如果你想在控制器中允许url {controller}/{action}/{id}/{string},你可以这样使用:

[Route("[controller]/[action]")]
public class TestController : Controller
{
   [Route("{id}/{s}")]
   public IActionResut Test(string id,string s)
   {
       return View();
   }

}

如果您想使用 <a> 标签:

<a asp-action="AddStudy" asp-route-id="xxx" asp-route-s="xxx">a</a>