1

我正在学习 AngularJS,并且已经使用 mvc 应用程序对其进行了设置。我正在尝试将之前用 JQuery 编写的一小段代码转换为 AngularJS,但不知道如何让它工作。问题是我不知道如何使用 AngularJS 在我的控制器中调用代码隐藏方法?

这就是它现在在 JQuery 中的工作方式:

//JQuery calling code behind
$(document).on("click", ".open-AppDescriptionDialog", function () {
    var title = "Title";
    var state = "active";

    //call method
    $.post('<%= Url.Action("StatusInfoString") %>', { header: title, status: state }, ParseResult);
});



//method in controller
[HttpPost]
public ActionResult StatusInfoString(string path, string status)
{
     ServiceClient serviceClient = new ServiceClient();
     var data = serviceClient.GetResults();

     return Content(data);
 }

有人知道这是怎么做到的吗?

4

1 回答 1

2

在角度上,它们是实现这一目标的不同方式,而角度具有相同的模块

以下是列表

http://docs.angularjs.org/api/ngResource .$resource

http://docs.angularjs.org/api/ng .$http

http://docs.angularjs.org/api/ng .$httpBackend

您需要从上面注入这个模块,通常人们使用工厂方法为此编写服务,下面是示例:

app.factory('myService', function($http) {
   return {
     getList:function(params){
          var promise= $http({url: 'ServerURL',method: "POST", params: params}).then(function(response,status){

            return response.data;
            });
          // Return the promise to the controller
          return promise; 
        }
   }
});

app.controller('MainCtrl', function($scope, myService) {
  myService.getList(function(data) {
     $scope.foo = data;
  });
});
于 2013-08-05T08:58:59.133 回答