如何使用 HTML.ActionLInk 构建嵌套路由 url?

How do build a nested route url with HTML.ActionLInk?

我的路线在 RouteConfig.cs

中正常运行
  routes.MapRoute(
      name: "PendingListings",
      url: "PendingListings/{pl_id}/{controller}/{action}/{id}",
      defaults: new { pl_id = 1, controller = "Inspections", action = "Index", id = UrlParameter.Optional }
  );

所以我可以输入:

http://localhost:3311/PendingListings/1/Inspections/Details/1

我想不通的是如何构建与 HTML.ActionLInk 相同的 URL。我试过了

@Html.ActionLink("Details", "Details","Inspections", new { pl_id = item.pending_listing_id, id = item.id })

但这并没有给我我想要的。我知道这是因为我不在 HTML.ActionLink 之下,所以感谢您的帮助。

您需要使用RouteLink而不是ActionLink来调用特定的路由名称,例如

@Html.RouteLink("Details", "PendingListings", new
{
  controller="Inspections",
  action = "Details",
  pl_id = 1,
  id = 1
})

将生成

..../PendingListings/1/Inspections/Details/1

Refer documentation