将c#模型转换为angular模型

Convert c# model to an angular model

本文关键字:模型 angular 转换      更新时间:2023-09-26

我是angularjs的新手(从今天开始…),我有一个问题,将模型从c#控制器传递到angularjs的控制器。

似乎我必须在我的角控制器中调用get方法,调用c#控制器,从中我将获得json并将其加载到$scope。进一步操作的人:

<script>
    var app = angular.module('myApp', []);
    app.controller('myCtrl', function ($scope, $http) {
        $http({url: "/Home/GetPersons",method: "GET"
            }).success(function (data) {
                $scope.people = data;
            }).error(function (error) {
                $scope.error = "Failed to load";
        });
     });
</script>

这是我的控制器:

  [HttpGet]
    public JsonResult GetPersons()
    {
        using (HRMEntities db = new HRMEntities())
        {
            var EmployeeList = db.Employees.Where(e => e.EmployeeId >= 0).ToList();
            return Json(EmployeeList, JsonRequestBehavior.AllowGet);
        }
    }

作为响应,我得到错误代码500;请求中有什么问题?这有更简单的方法吗?可能是使用我的模型被发送到一个视图从c#控制器@model List<Employee>

因此,经过一些讨论,问题的解决方案似乎是这样的:

return Json(EmployeeList.Select(x=>new {Name=x.Name }), JsonRequestBehavior.AllowGet)

或者换句话说,创建一个数据传输对象(DTO)并从EmployeeList中填充它

可能是JSON反序列化有问题。

很高兴帮助你!

我对这个有点晚了,但是我们在公司创建了这个,它非常方便有从c#到js (vanilla)相关的模型,我们有angularjs工厂模型包装器来扩展领域模型的功能。

https://github.com/castle-it/sharp2Js