2013-06-13 11 views
7

Zasadniczo chcę tej samej funkcjonalności co Url.Action, ale poza kontrolerem. czy to możliwe?Uzyskaj adres URL działania wewnątrz klasy MVC4 .NET

Chociaż jestem pewien, że użyję go gdzie indziej, moim obecnym pragnieniem jest wygenerowanie adresu URL akcji wewnątrz modelu widoku.

+0

Stwórz własną rozszerzenie metoda po prostu dołączając ciągi razem .. –

+1

możliwy duplikat [Call UrlHelper w modelach w ASP.NET MVC] (http://stackoverflow.com/questions/2031995/call-urlhelper-in-models-in-asp-net- mvc) –

Odpowiedz

20

Można instancji UrlHelper w widoku modelu, tak jak poniżej:

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

Następnie można użyć tego jak ten używany w widoku:

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

I [czytaj tutaj] (http://stackoverflow.com/a/115822 07/1037948), które chcesz uniknąć używania 'HttpContext.Current' - nie wiesz, czy ma to zastosowanie tutaj, a nawet możliwe. – drzaus

+0

@drzaus to nie jest ASP.NET Web API, więc nie, nie ma tu zastosowania. –

Powiązane problemy