我有一个控制器正在发送一个带有json对象的数组。 而不是向我显示视图,只在浏览器中显示数组的内容。
谢谢。我的控制器:
Optional({
1 = {
driverName = chauffeur1;
latitude = "37.33193453";
longitude = "-122.03777128";
};
4 = {
driverName = kees;
};
})
我的观点:
public JsonResult IndexJson()
{
var equipas = db.Equipas.Select(t => new { Nome = t.Nome, Abreviatura = t.Abreviatura, Country = t.Country }).ToList();
return Json(equipas, JsonRequestBehavior.AllowGet);
}
我的剧本:
@{
ViewBag.Title = "getAll";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div ng-app="ruyApp" ng-controller="equipasCtrl">
<table class="table">
<tr>
<th>
Nome
</th>
<th>
País
</th>
<th>
Abreviatura
</th>
</tr>
<tr ng-repeat="x in myData">
<td>
{{x.Nome}}
</td>
<td>
{{x.Country}}
</td>
<td>
{{x.Abreviatura}}
</td>
</tr>
</table>
</div>
<script src="~/Scripts/AngularScripts.js"></script>
浏览器输出:
var app = angular.module('ruyApp', []);
app.controller('equipasCtrl', function ($scope, $http) {
$http.get('/Equipas/IndexJson').then(function (response) {
$scope.myData = response.data;
$scope.statustext = response.statusText;
$scope.statuscode = response.status;
});
});
答案 0 :(得分:0)
我认为当您返回除ViewResult之外的其他结果时,不会触发ViewEngine并且不会返回任何视图。我会将json作为模型返回到视图中:ex。 return this.View(jsonEquipas)或将equipas作为属性传递给传递给视图的视图模型。
答案 1 :(得分:0)
我不知道为什么代码不起作用。我通过将ng-init指令与模型的解析一起解决了这个问题。
查看强>
<div ng-app="ruyApp" ng-controller="equipasCtrl" ng-init="init(@Newtonsoft.Json.JsonConvert.SerializeObject(Model))">
</div>
<强>脚本强>
app.controller('equipasCtrl', function ($scope) {
$scope.init = function (equipas) {
$scope.myData = equipas;
});