Passing multiple parameters in an MVC Ajax.ActionLink
Asked Answered
M

1

17

I am using an Ajax.ActionLink to call an Action in a Controller, nothing special there. I want to pass two parameters to the Action. Is this possible using an Ajax.ActionLink? I thought that it would just be a matter of including multiple values in the AjaxOptions:

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

Is it possible to pass multiple parameters?

Where is a good place to learn more about the AjaxOptions?

Metralgia answered 7/4, 2010 at 20:52 Comment(0)
T
48

Depending on which overload you choose for Ajax.ActionLink, the parameter called routeData can contain an anonymous dictionary for the various parameters that will be passed to the action:

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

This doesn't have anything to do with the AjaxOptions parameter, which gives you some control about the behavior of the request/response.

public class AwesomeController
{
   public ActionResult DoSomething(string foo, string bar)
   {
      /* return your content */
   }
}
Toname answered 7/4, 2010 at 21:4 Comment(2)
How to generate path like AwesomeController/DoSomething/foo1/bar1 instead of AwesomeController/DoSomething?foo=foo1&bar=bar1Timorous
How to generate path like this AwesomeController/DoSomething/foo1/bar1Quittance

© 2022 - 2024 — McMap. All rights reserved.