gpt4 book ai didi

javascript - 将 C# 模型转换为 Angular 模型

转载 作者:行者123 更新时间:2023-11-29 15:25:23 28 4
gpt4 key购买 nike

我是 angularjs 的新手(今天开始......),我在将模型从 c# Controller 传递到 angularjs 的 Controller 时遇到问题。

看来我必须在我的 Angular Controller 中调用一个 get 方法,以调用一个 c# Controller ,我将从中获取 json 并将其加载到 $scope.people 以进行进一步操作:

<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>

这是我的 Controller :

  [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# Controller 发送到 View 的模型 @model List<Employee>

最佳答案

所以,经过一番讨论,问题的解决方案似乎是这样的:

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

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

填充它

可能是 JSON 反序列化出了问题。

很高兴为您服务!

关于javascript - 将 C# 模型转换为 Angular 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39790665/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com