MVC3在ActionLink OnComplete事件上触发多个函数

本文关键字:函数 ActionLink OnComplete 事件 MVC3 | 更新日期: 2023-09-27 18:25:59

如何在MVC3 ActionLink:中的OnComplete事件上触发多个函数

 OnComplete = "function() { one(); two(); }"

这个对我不管用吗?有什么想法吗?

MVC3在ActionLink OnComplete事件上触发多个函数

如何将其映射到一个函数:

...{ 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
    }
}

你可以把它应用到你的行动方法中,比如:

[ActionExecutionFinal]
public ActionResult YourActionMethod()
{
    return View();
}

如果你喜欢这个怎么办

查看

OnComplete = "a"

JavaScript

function a()
{
    b();
    c();
}