Как вывести список значений, используя ng-repeat, используя AngularJS и JsonResult ASP.NET MVC - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь отобразить список из моего контроллера JsonResult.Это нормально, я получаю данные в своем сервисе Angular, но у меня проблемы с отображением их в списке с помощью ng-repeat.Это представляет большой пустой список.Когда данные не являются списком, они работают.

Angular. Отладка

var app = angular.module('FileApp', []);        
app.service('ngFileService', function ($http) {        
  this.getFileByFileCode = function (fileCodigo) {
    var response = $http.get("/Files/GetFile?fileCodigo=" + fileCodigo);
    return response;
  };

});

app.controller('ngFileController', function ($scope, ngFileService) {                
  $scope.filterFileCode = "";

  $scope.getFilteredFile = function () {
    var promise = ngFileService.getFileByFileCode($scope.filterFileCode);
    promise.then(function (resp) {
      $scope.File = resp.data;       
      $scope.Message = "Call is Completed Successfully";
    }, function (err) {
      $scope.Message = "Call Failed " + err.status;
    });
  };
});

HTML

        <tr>
          <td>Enter Search Value:</td>
          <td><input type="text" ng-model="filterFileCode" class="form- 
         control" ng-change="getFilteredFile()" /></td>
        </tr>
      <table class="table table-bordered table-condensed table-striped">
        <thead>
          <tr>
            <th>Documentos Gerais File</th>
            <th></th>
            <th>CTB</th>
            <th>COM</th>
            <th>Site</th>
          </tr>
        </thead>
        <tbody>
          <tr ng-repeat="f in File">
            <td>Documentos</td>
            <td>{{f.FileCTB}}</td>
            <td>{{f.FileCOM}}</td>
            <td>{{f.FileSite}}</td>
          </tr>
        </tbody>
      </table>

Ошибка

Я ожидаю отрисовкисписок значений boolens.

**DataCriacao: "/Date(-62135596800000)/"
DataFim: "06/07/2018"
DataInicio: "26/06/2018"
DescricaoServico: null
FileCOM: (2) [true, false]
FileCTB: (2) [false, false]
FileCodigo: 190562
FileCodigoId: 0
FileCodigoNv: null
FileMimeType: null
FileSite: (2) [false, false]**

[решено] Я нашел решение, делающее вышеуказанное решение:

<tbody>
  <tr>
    <td>Documentos</td>
    <td>Comandos</td>
    <td><span ng-repeat="(key, value) in File.FileCTB track by $index"> 
         {{value}}</span></td>
    <td><span ng-repeat="(key, value) in File.FileCOM track by $index"> 
         {{value}}</span></td>
    <td><span ng-repeat="(key, value) in File.FileSite track by $index"> 
         {{value}}</span></td>
  </tr>
</tbody>

1 Ответ

0 голосов
/ 06 июня 2019

Я решил эту проблему, храня в объекте viewModel всю дату ниже:

DataCriacao: "/Date(-62135596800000)/"
DataFim: "06/07/2018"
DataInicio: "26/06/2018"
DescricaoServico: null
FileCOM: (2) [true, false]
FileCTB: (2) [false, false]
FileCodigo: 190562
FileCodigoId: 0
FileCodigoNv: null
FileMimeType: null
FileSite: (2) [false, false]

Таким образом, я могу выполнять итерации только в атрибуте, который является массивом коллекций или массива.

...