2009-04-29 1 views
26

In una delle azioni del mio controller, sto generando un po 'di XML. Uno degli attributi in questo XML è un href con un altro controller e un'azione, con alcuni parametri. L'XML dovrebbe apparire qualcosa di simile:Creazione di un collegamento di azioni in un controller

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

Non mi importa se l'URL è relativo o assoluto, ma la mia domanda è questa: come faccio a generare l'URL nel codice del controller, in una type-safe modo?

In altre parole, come si fa ciò che fa HtmlHelper.ActionLink, ma da un controller?

risposta

38

trovato utilizzando Reflector:

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

ancora valida in ASP.NET core 1.0.x. 'Url' è una proprietà di classe astratta' Microsoft.AspNetCore.Mvc.ControllerBase' che implementa 'Microsoft.AspNetCore.Mvc.IUrlHelper'. –