我的视图没有呈现(ASP.NET / Angular)

时间:2017-03-30 11:23:53

标签: javascript angularjs json asp.net-mvc

我有一个控制器正在发送一个带有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;

});
});

2 个答案:

答案 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;

});