使用实体框架我缩放了模型'beer.cs'
public class Beer
{
[Key]
public int ID { get; set; }
public bool HasTasted {get; set; }
public string Name { get; set; }
}
我从BeersController获取自动代码并将其切换为输出Json
public ActionResult Index()
{
return View(db.Beers.ToList());
}
public ActionResult IndexVM()
{
return Json(db.Beers.ToList(), JsonRequestBehavior.AllowGet);
}
现在的问题是,我正在让json没有模型名称,所以它看起来像这样
[{"ID":1,"HasTasted":true,"Name":"Root Beer Ale"},{"ID":2,"HasTasted":false,"Name":"Dragons Breath"},{"ID":3,"HasTasted":false,"Name":"ScAles"},{"ID":4,"HasTasted":true,"Name":"Dragons Breath"}]
我相信这是因为它没有渲染我的ng-repeat模型。
<p>{{model | json}}</p>
<table class="table">
<tr ng-repeat="beer in model.Beers">
是否有其他方法可以使用ng-repeat或可能将db.Beers.ToList()
更改为能够为我提供模型名称的其他内容?
BeerCtrl.js
angular.module('AngularDemo.BeerController', [])
.controller('BeerCtrl', [
'$scope', '$http', function ($scope, $http) {
$scope.model = {};
$http.get('/Beers/IndexVM').success(function (data) {
$scope.model = data;
});
}]);
答案 0 :(得分:1)
尝试
ng-repeat="beer in model"
属性Beers
不存在 - 从控制器读取的数据被设置到model
中,model
充当对象数组。因此,您可以在访问啤酒数据时迭代 cbid:string ='someValue';
window[cbid] = (meta: any) => {
tempThis.meta = meta;
window[cbid] = undefined;
var e = document.getElementById(cbid);
e.parentNode.removeChild(e);
if (meta.errorDetails) {
return;
}
};
。