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?

1 Answer 1

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 */
   }
}
Sign up to request clarification or add additional context in comments.

2 Comments

How to generate path like AwesomeController/DoSomething/foo1/bar1 instead of AwesomeController/DoSomething?foo=foo1&bar=bar1
How to generate path like this AwesomeController/DoSomething/foo1/bar1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.