Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Passing multiple parameters in an MVC Ajax.ActionLink

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?

like image 829
mwright Avatar asked Apr 07 '10 20:04

mwright


1 Answers

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 */
   }
}
like image 112
Ben Scheirman Avatar answered Sep 28 '22 06:09

Ben Scheirman