2015-02-05 26 views
3

我有我的路在RouteConfig.cs正常工作如何使用HTML.ActionLInk构建嵌套的路由网址?

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

我想不通的是如何建立相同的URL与HTML.ActionLInk。我试图

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

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

回答

2

您需要使用RouteLink而非ActionLink调用特定的路线名称,例如

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

会产生

.../PendingListings/1 /检查/详细信息/ 1

Refer documentation