在ASP.Net MVC中使用JSON从AngularJS调用MVC控制器

JsonResult方法未通过$http调用进行调用,

我正在开发一个使用ASP.NET MVC,AngularJS的项目,我正在从AngularJS调用mvc控制器。我从AngularJS调用MVC控制器时得到了一个jsonresult。

这是结果

[
  {
    "Branch_ID": 1,"Branch_Name": "sdsds","Branch_Address": "sfsdfsdf","Branch_email": "sdfsdfsdf","Branch_Notes": "sfsffsfd","Branch_Manager": null,"Branch_Phone": null,"Branch_TimeFrom": "/Date(-2208996000000)/","Branch_TimeTo": "/Date(-2208996000000)/","saturday": false,"sunday": false,"monday": false,"tuesday": false,"wednesday": false,"thursday": false,"friday": false,"Departments": null
  }
]

分支机构控制器

public class BranchesController : Controller
   {

    private IRepositoryBase<Branches> BrancheRepository;

    public BranchesController(IRepositoryBase<Branches> brancheRepository)
    {
        this.BrancheRepository = brancheRepository;
    }
    // GET: Branches
    public JsonResult Index()
    {

        var branches =   BrancheRepository.Getall();

        //if (!String.IsnullOrEmpty(searchString))
        //{
        //    branches = branches.Where(s => s.Branch_Name.ToUpper().Contains(searchString.ToUpper()));
        //}

        return Json(branches,JsonRequestBehavior.AllowGet);
    } 
}

Index.cshtml

<div class="container" ng-controller="branch-controller">
<div class="panel panel-info">
    <div class="panel-heading">
        Branch Details - Grid CRUD operations
    </div>
    <table class="table table-bordered">
        <thead style="background-color:lightblue;">
            <tr>
                <th> Branch Address</th>
                <th> Branch Email</th>
                <th>Branch Name</th>
                <th>Branch Notes</th>
                <th> actions</th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="branche in Branches">
                  <td>{{branche.Branch_ID}}</td>
                <td>{{branche.Branch_Address}}</td>
                <td>{{branche.Branch_email}}</td>
                <td>{{branche.Branch_Name}}</td>
                <td>{{branche.Branch_Notes}}</td>

                <td style="width:200px;">
                    <a href="#" class="btn btn-info">Update</a>
                    <a href="#" class="btn btn-danger">Delete</a>
                </td>
            </tr>
        </tbody>
    </table>
</div>

Module.js

 var myapp;
 (function () {

   myapp = angular.module('my-branches',[]);
  })();

Controller.js

myapp.controller('branch-controller',function ($scope,branchService) {

//Loads all branch records when page loads
loadBranches();

function loadBranches() {
    var BrancheRecords = branchService.getallBranches();

    BrancheRecords.then(function (data) {
        //success

        $scope.Branches = data;
    },function (error) {
        console.log(error);
        alert("Error occured while fetching branche list...");
    });
    }
  });

Service.js

myapp.service('branchService',function ($http) {

    this.getallBranches = function () {

        return $http.get("/Branches/Index").then(function (response) {

            return response.data;
        });
    };
});   
itdudu 回答:在ASP.Net MVC中使用JSON从AngularJS调用MVC控制器

将服务呼叫更改为:

var BrancheRecords = branchService.getAllBranches();

BrancheRecords.then(function (data) {
    //success
    $scope.Branches = data;
},function (error) {
    console.log(error);
    alert("Error occured while fetching branche list...");
});

将服务更改为:

myapp.service('branchService',function ($http) {

    this.getAllBranches = function () {

        return $http.get("Branches/Index").then(function(response) {
            return response.data;
        });
    };
});

数据已分配给响应对象的data属性。

有关更多信息,请参见

,

首先,您需要更改in @georgeawg's answer所示的代码,然后剩下的问题是您使用的属性名称无效。结果应该像这样

<td>{{branche.Branch_Address}}</td>
<td>{{branche.Branch_email}}</td>
<td>{{branche.Branch_Name}}</td>
<td>{{branche.Branch_Notes}}</td>
本文链接:https://www.f2er.com/2917442.html

大家都在问