我正在使用Ajax.ActionLink在Controller中调用Action,那里没有什么特别的。我想将两个参数传递给Action。是否可以使用Ajax.ActionLink?我认为这只是在AjaxOptions中包含多个值的问题:

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


是否可以传递多个参数?

在哪里可以了解更多有关AjaxOptions的好地方?

最佳答案

根据为Ajax.ActionLink选择的重载,名为routeData的参数可以包含一个匿名字典,该字典包含将传递给操作的各种参数:

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


这与AjaxOptions参数无关,它使您可以控制请求/响应的行为。

public class AwesomeController
{
   public ActionResult DoSomething(string foo, string bar)
   {
      /* return your content */
   }
}

10-05 22:58
查看更多