MVC:如何调用Javascript函数?

时间:2013-12-19 15:38:46

标签: asp.net-mvc asp.net-mvc-4

在我看来,我有一个名为testalert的函数,在我的控制器中我有一个名为Index的动作,我使用javascriptmodel可以解决我的问题,但我发现如果我的action不返回一个view(),例如:只返回Json(模型),javascriptmodel将无法正常工作。当我返回json时如何调用js函数?为什么javascriptmodel只能被设计为运行良好 在回报中?

function testalert(para) {
     alert(para);
    }

public ActionResult Index()
    {
  //work well  and alert "abc"   
 this.AddJavaScriptFunction("testalert", PageLoadEvent.Ready, null, "abc");
        return View();
    }
public ActionResult GetData()
    {
  var restult="data"; 
 // not work     
 this.AddJavaScriptFunction("testalert", PageLoadEvent.Ready, null, "abc");
   return Json(restult);
    }

1 个答案:

答案 0 :(得分:1)

我已经完成了作为结果承诺返回的AsyncHelper.Call(url,params),并在客户端等待promise.done和我的东西。

更短的版本:

var AsyncAction = (function () {
return {
    //options: passed to $.ajax       
    Call: function (options, helperOptions) {
        return $.ajax(options)
        .done(function (result) {
            helperOptions.onSucceed(result.model);
        });
    }
};

})();