2009-04-29 8 views
26

W jednym z moich działań kontrolera generuję kod XML. Jednym z atrybutów tego XML jest href do innego kontrolera i akcji, z pewnymi parametrami. XML powinien wyglądać mniej więcej tak:Tworzenie łącza akcji w kontrolerze

<projects> 
    <project id="42" name="Project X", href="/projects/42"/> 
    <!-- etc. --> 
</projects> 

Nie przeszkadza mi, jeśli adres URL jest względny lub bezwzględny, ale moje pytanie brzmi: w jaki sposób mogę wygenerować URL w kodzie kontrolera, w rodzaju bezpieczny droga?

Innymi słowy, jak zrobić to, co robi HtmlHelper.ActionLink, ale ze sterownika?

Odpowiedz

38

Znaleziono go przy użyciu Reflektor:

string href = Url.Action("DetailsAsXml", new { projectId = item.Id }); 
+1

nadal ważne w ASP.NET podstawowej 1.0.x. 'Url' jest własnością klasy abstrakcyjnej' Microsoft.AspNetCore.Mvc.ControllerBase', która implementuje 'Microsoft.AspNetCore.Mvc.IUrlHelper'. –