2013-06-13 8 views
7

Fondamentalmente, voglio la stessa funzionalità di Url.Action, ma al di fuori del controller. È possibile?Ottieni URL di azione all'interno della classe MVC4 .NET

Mentre sono sicuro che lo utilizzerò altrove, il mio attuale desiderio è quello di generare l'url di azione all'interno di un modello di visualizzazione.

+0

Crea proprio interno metodo semplicemente aggiungendo stringhe insieme. –

+1

possibile duplicato di [Call UrlHelper nei modelli in ASP.NET MVC] (http://stackoverflow.com/questions/2031995/call-urlhelper-in-models-in-asp-net- mvc) –

risposta

20

È possibile creare un'istanza di un UrlHelper nel vostro modello di vista, in questo modo:

UrlHelper helper = new UrlHelper(HttpContext.Current.Request.RequestContext); 

Quindi, è possibile utilizzare questo, proprio come quella che si usa nella vista:

string actionUrl = helper.Action("MyAction", "MyController"); 
+0

I [leggi qui] (http://stackoverflow.com/a/115822 07/1037948) che si desidera evitare di utilizzare 'HttpContext.Current' - non è sicuro se sia applicabile qui, o persino possibile. – drzaus

+0

@drzaus questa non è API Web ASP.NET, quindi no, non è applicabile qui. –

Problemi correlati