在MVC中传递多个参数Ajax.ActionLink
问题描述:
我正在使用Ajax.ActionLink在控制器中调用一个Action,没有什么特别的。我想将两个参数传递给Action。这可能使用Ajax.ActionLink?我认为这只是在AjaxOptions中包含多个值的问题:在MVC中传递多个参数Ajax.ActionLink
<%= 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 */
}
}
这也有帮助,谢谢。 – mwright 2010-04-07 21:34:12
如何生成像AwesomeController/DoSomething/foo1/bar1'而不是'AwesomeController/DoSomething?foo = foo1&bar = bar1'的路径 – bjan 2012-05-29 04:37:34
如何生成这样的路径AwesomeController/DoSomething/foo1/bar1 – user145610 2012-11-05 20:37:45