2010-04-07 11 views
15

Ich benutze einen Ajax.ActionLink, um eine Aktion in einem Controller aufzurufen, nichts Besonderes dort. Ich möchte zwei Parameter an die Aktion übergeben. Ist dies mit einem Ajax.ActionLink möglich? Ich dachte, dass es nur eine Frage des mit mehreren Werten in der Ajaxoptions sein:Mehrere Parameter in einem MVC übergeben Ajax.ActionLink

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

Ist es möglich, mehrere Parameter zu übergeben?

Wo ist ein guter Ort, um mehr über die AjaxOptions zu erfahren?

Antwort

44

Je nachdem, welche überlasten Sie Ajax.ActionLink wählen, wird der Parameter routeData genannt kann ein anonymes Wörterbuch für die verschiedenen Parameter enthalten, die an die Aktion übergeben werden:

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

Dies hat nichts zu Verwenden Sie den Parameter AjaxOptions, der Ihnen eine gewisse Kontrolle über das Verhalten der Anfrage/Antwort gibt.

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

Das war auch hilfreich, danke. – mwright

+0

Wie Pfad generieren wie 'AwesomeController/DoSomething/foo1/bar1' anstelle von' AwesomeController/DoSomething? Foo = foo1 & bar = bar1' – bjan

+0

Wie Pfad wie diese generieren AwesomeController/DoSomething/foo1/bar1 – user145610

Verwandte Themen