2015-09-10 39 views
-1

我需要在asp.net mvc中使用子路徑的幫助。我需要這條路線@ Url.Action中的子路徑

Home/Index/6/Person/Index/8 

在我RouteConfig我有這個

routes.MapRoute(
    name: "Prueba", 
    url: "Home/Index/{id}/Person/{action}/{personId}", 
    defaults: new { controller = "Person", action = "Index", PersonId = UrlParameter.Optional } 
); 

如果我把這個路線Home/Index/6/Person/Index/8在URL瀏覽器的工作原理,但我需要的鏈接

我不知道如何用@Url.Action(Action, Controller, new{ id=Value })

創建此路線
+0

語法:@ Url.Action(「操作名稱」,「ControllerName」,新{參數名稱=「parameterValue」}) 您的情況: @ Url.Action(「Index」,「Person」,new {id =「6」,personId =「8」}) –

回答

1

您可以使用Url.RouteUrlHtml.RouteLink方法

例如

@Html.RouteLink("Click me", "Prueba", new { id = 1, personId = 3 }) 

的d

@Url.RouteUrl("Prueba", new { id = 1, personId = 3 }) 

如果你想在指定的路線不同的操作方法,那麼這將是例如new { id = 1, personId = 3, action = "Edit" }

+0

請注意'personId'參數是不需要匹配路線。 – NightOwl888