Domanda

In una vista, codice come questo genererà l'URL giusto per passare al metodo controller azione basato sulle rotte nel file global.asax.cs.

<%= Html.ActionLink("text", "action", "controller") %>

La mia domanda è: come posso ottenere una mappatura route-to-URL simile al di fuori di una vista, come un controller? Non esiste alcun membro HTML nella classe Controller su cui chiamare ActionLink.

Alcune azioni del controller devono reindirizzare il browser e voglio reindirizzare a un controller e agire senza cablare l'URL nel controller, il che si interromperebbe se cambiassi il modo in cui i miei percorsi erano mappati questi URL a controller e azioni

È stato utile?

Soluzione

Quello che stai cercando è RedirectToAction .

Se vuoi solo l'URL, usa la proprietà Url del controller - è a UrlHelper .

Altri suggerimenti

Utilizza RedirectToAction metodo sul controller:

return RedirectToAction( "action", "controller", new { id = redirectID } )
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow