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

时间:2015-02-05 00:43:30

标签: asp.net asp.net-mvc asp.net-mvc-5

我的路线在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下,所以感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

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

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

将生成

  

... / PendingListings / 1 /检查/详情/ 1

Refer documentation