我正在使用一个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 */ } }