如何使用MVC控制器Action将对象传递给angularjs控制器

时间:2015-10-15 10:40:18

标签: angularjs model-view-controller

我想使用MVC控制器将对象发送到angularjs控制器动作是否可能?

假设

 public ActionResult Dashboard()
    {
        return View();
    }

我想将对象传递给app.js如何做到这一点

1 个答案:

答案 0 :(得分:2)

你的问题有点模糊,你需要更具体地了解你究竟想要做什么。

通常,这是他如何从MVC应用程序中获取Angular中的数据。

在MVC / WebAPI的情况下,您应该使用操作将JSON结果返回到角度服务,然后可以通过角度处理。 示例如下:

  app.factory('myService', function($http) {
  var myService = {
    GetData: function() {
      // $http returns a promise, which has a then function, which also returns a promise
      var promise = $http.get('<ActionURL>').then(function (response) {
        // The then function here is an opportunity to modify the response
        console.log(response);
        // The return value gets picked up by the then in the controller.
        return response.data;
      });
      // Return the promise to the controller
      return promise;
    }
  };
  return myService;
});

app.controller('MainCtrl', function( myService,$scope) {
  // Call the async method and then do stuff with what is returned inside our own then function
  myService.GetData().then(function(d) {
    $scope.data = d;
  });
});

从MainCtrl调用此服务后,angular将在其$ scope.data变量中提供MVC操作的数据。