Come altre risposte hanno suggerito già, è possibile utilizzare il Url.RouteUrl
in questo modo:
@Url.RouteUrl("DefaultApi", new {httproute= "", controller = "MyApiController"});
È inoltre possibile utilizzare il metodo di scelta rapida Url.HttpRouteUrl
invece in questo modo:
@Url.HttpRouteUrl("DefaultApi", new { controller = "MyApiController" })
"DefaultApi"
è il nome di instradamento predefinito quando si crea un nuovo progetto WebApi. Questa stringa deve corrispondere a qualsiasi nome che hai fornito con HttpRoute nel file WebApiConfig.cs
.
Entrambe queste soluzioni ti aiuteranno solo a generare l'URL del percorso, in realtà non generano un link HTML per te. È necessario utilizzare loro come questo:
<a href="@Url.HttpRouteUrl("DefaultApi", new { controller = "MyApiController" })">My Link Text</a>
Se si desidera Razor per generare il tag di ancoraggio HTML per voi, è possibile utilizzare questo metodo invece:
@Html.RouteLink("My Link Text", "DefaultApi", new { controller = "MyApiController" })
Questo metodo fornisce un'interfaccia molto simile a @Html.ActionLink
che viene utilizzato per i normali collegamenti Controller/Azione.
Tutte queste soluzioni consentono al click-through di funzionare con ReSharper.
fonte
2013-11-25 17:25:22
Buona risposta. Annotare l'errore di battitura per RouteParameter (non RouterParameter). – iCode