2012-02-28 56 views

回答

2

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

...{ OnComplete = "Completed" }... 

<script> 
    function Completed(){ 
    one(); 
    two(); 
    } 
</script> 

MVC正在寻找一个功能的代码来执行不是一个字符串的名称。

+0

@my函数在不同的.js文件中,加载顺序是重要的还是不可以这样做? – 2012-02-28 14:52:57

+0

@Ingol:取决于你如何加载它们。只要函数存在,在MVC可以访问的范围内,但是调用所做的时间,一切都应该没问题。 – 2012-02-28 15:33:39

2

如果你正在寻找执行JavaScript的ActionLink()点击,你可以这样做:

@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(); 
} 
1

如果你喜欢这款

查看

OnComplete = "a" 

的JavaScript

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

我的函数是在不同的.js文件中,加载顺序是重要的还是不能这样做,还是我需要使某些kinde的全局函数? – 2012-02-28 15:05:47

+0

如果你的js文件被加载在同一个页面上,那么他们会看到对方。这就是JavaScript有很多命名空间问题的原因。文件A可以有功能打印和文件B可以有功能打印。 – Tx3 2012-02-28 15:11:07

+0

但是在这个例子中,函数b和函数c和a在不同的文件中没有区别。 – Tx3 2012-02-28 15:11:44