Reputation: 4165
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?
Upvotes: 17
Views: 50032
Reputation: 40961
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 */
}
}
Upvotes: 48