2010-06-30 17 views
39

Sto usando Html.Action("ActionName", "ControllerName") per richiamare azioni figlio tra i controller senza la necessità di avere la vista in Views \ Shared. Questo ha funzionato benissimo per la visualizzazione di informazioni come sessione o cookie.Come posso passare i parametri a un'azione tramite Html.Action() in ASP.NET MVC?

Invece di accedere semplicemente ai cookie, vorrei passare parametri aggiuntivi a Html.Action("ActionName", "ControllerName") in modo che l'azione possa eseguire codice diverso in base ai dati passati alla vista originale.

Devo utilizzare un metodo diverso per passare i parametri a un'azione figlio in un controller diverso? Come si potrebbe raggiungere questo?

risposta

84

È possibile specificare ulteriori dati nella proprietà RouteValues ​​in questo modo.

Html.Action("Controller","Name", new { id = 1 }) 
+2

Aw dolce !!! Ho visto RouteValues ​​nell'intelisense ma non ho usato quel formato. Ho provato 'Html.Action (" Action "," Controller ", model.Paramter)'. Ci proverò subito. – quakkels

+0

Come si passa una stringa, come il testo, o l'id di un elemento di elenco a discesa popolato automaticamente? – antman1p

+1

@ antman1p Sembra una nuova domanda, non un commento. Pubblica un link alla nuova domanda qui e ti aiuterò il più possibile. Una cosa, sembra che quello che stai cercando di fare accade al cliente, in quanto dipende dall'interazione con l'utente (browser), mentre questa domanda in particolare si riferisce a come ottenere un link a un'azione che include un parametro che è reso su una vista lato server. –

-1

Per aggiungere un po 'su questa questione, io sto usando ASP.Net MVC 5 e ho potuto avere successo per raggiungere questo obiettivo con questo codice:

@Html.Action("foo",new {parameter1=1}) 
+2

Questo è un sovraccarico di lo stesso metodo In questo sovraccarico si presume che si stia chiamando lo stesso controller utilizzato per il rendering della vista corrente e l'azione è "foo". Ci sono altri due sovraccarichi che vale la pena menzionare: https://msdn.microsoft.com/en-us/library/system.web.mvc.html.childactionextensions.action%28v=vs.118%29.aspx –

Problemi correlati