non riesco a @Url.Action
per risolvere all'url mi aspetto sulla base del percorso dell'attributo ho applicato:MVC attributo di routing con Url.Action non risolvere percorso
mia azione (SearchController ma con [RoutePrefix ("add ")])
[Route("{searchTerm}/page/{page?}", Name = "NamedSearch")]
[Route("~/add")]
public ActionResult Index(string searchTerm = "", int page = 1)
{
...
}
Chiama per Url.Action
@Url.Action("Index", new { controller = "Search", searchTerm = "replaceMe", page = 1 })
Questo si traduce in un URL di
/add?searchTerm=replaceMe&page=1
mi aspetterei
/add/replaceMe/page/1
Se digitate l'URL manualmente, allora si risolve per l'azione corretta con i parametri corretti Perché @Url.Action
non risolve l'URL corretto?
Grazie, l'aggiunta di un nome per entrambi i percorsi e l'utilizzo di RouteUrl è stato l'unico modo affidabile per ottenere questo risultato per entrambe le rotte. – Simon
Per coloro che vengono qui e vogliono un percorso per un'azione in un ApiController: @ Url.HttpRouteUrl ottiene il trucco in questo caso ;-) –
Questo mi ha aiutato a passare la corretta Route a PagedList di Troy Goode. Mi stavo rovinando la testa per quasi un giorno! – Shiva