Passing multiple parameters in an MVC Ajax.ActionLink

对着背影说爱祢 提交于 2019-12-20 10:29:22

问题


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:


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 */
   }
}


来源:https://stackoverflow.com/questions/2595830/passing-multiple-parameters-in-an-mvc-ajax-actionlink

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!