【发布时间】:2012-03-18 00:49:07
【问题描述】:
如何在 MVC3 ActionLink 中的 OnComplete 事件上触发多个函数:
OnComplete = "function() { one(); two(); }"
这对我不起作用?有什么想法吗?
【问题讨论】:
-
动作链接部分生成的 Html 输出是什么?
标签: c# javascript .net asp.net-mvc asp.net-mvc-3
如何在 MVC3 ActionLink 中的 OnComplete 事件上触发多个函数:
OnComplete = "function() { one(); two(); }"
这对我不起作用?有什么想法吗?
【问题讨论】:
标签: c# javascript .net asp.net-mvc asp.net-mvc-3
如何将其映射到函数:
...{ OnComplete = "Completed" }...
<script>
function Completed(){
one();
two();
}
</script>
MVC 正在寻找函数的名称,而不是要执行的代码字符串。
【讨论】:
如果您希望为点击的ActionLink() 执行 JavaScript,您可以这样做:
@Html.ActionLink("YourAction", null, new { onclick = "function() { one(); two(); }" })
但如果您真的希望在 Action 方法完成后执行某些操作,则需要编写自己的 ActionFilter:
public class ActionExecutionFinal : ActionFilterAttribute
{
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
// do something here
}
}
你会像这样将它应用到你的 Action 方法中:
[ActionExecutionFinal]
public ActionResult YourActionMethod()
{
return View();
}
【讨论】:
如果你这样做会怎样
查看
OnComplete = "a"
JavaScript
function a()
{
b();
c();
}
【讨论】: