2010-04-07 11 views
15

Sto utilizzando un Ajax.ActionLink per chiamare un'azione in un controller, niente di speciale lì. Voglio passare due parametri all'azione. È possibile utilizzare Ajax.ActionLink? Ho pensato che sarebbe solo una questione di includere più valori nei AjaxOptions:Passaggio di più parametri in un MVC Ajax.ActionLink

<%= Ajax.ActionLink("Link Text", 
    "ActionName", 
    "ControllerName", 
    new { firstParameter = firstValueToPass, secondParameter = secondValueToPass }, 
    new AjaxOptions{ UpdateTargetId = "updateTargetId"})%> 

E 'possibile passare più parametri?

Dove è un buon posto per saperne di più su AjaxOptions?

risposta

44

A seconda di quale si sceglie per sovraccaricare Ajax.ActionLink, il parametro chiamato routeData può contenere un dizionario anonima per i vari parametri che saranno passati all'azione:

<%= Ajax.ActionLink("Link Text", 
    "DoSomething", 
    "AwesomeController", 
    new { foo = "foo1", bar = "bar1" }, 
    new AjaxOptions{ UpdateTargetId = "updateTargetId"})%> 

Questo non ha nulla a che fare con il parametro AjaxOptions, che fornisce un controllo sul comportamento della richiesta/risposta.

public class AwesomeController 
{ 
    public ActionResult DoSomething(string foo, string bar) 
    { 
     /* return your content */ 
    } 
} 
+0

Anche questo è stato utile, grazie. – mwright

+0

Come generare un percorso come 'AwesomeController/DoSomething/foo1/bar1' invece di' AwesomeController/DoSomething? Foo = foo1 & bar = bar1' – bjan

+0

Come generare un percorso come questo AwesomeController/DoSomething/foo1/bar1 – user145610

Problemi correlati