数据没有显示在网格表中,即使有

时间:2018-12-04 10:33:41

标签: c# asp.net-mvc angular

我有一个控制器方法

        [HttpGet("[action]")]
    public IActionResult Makes()
    {
        var data = _vehicleService.GetMake(0, 10);

        return Ok(data);
    }

它有效,我调试了它,并用所需的数据填充了数据。当您需要倾斜使用它并创建视图时,就会出现问题。 从我所看到的,我才刚刚开始使用angular。调试起来有点困难。

在我的组件中,我有这个打字稿文件

import { Component, Inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Component({
selector: 'app-fetch-data',
templateUrl: './fetch-data.component.html'
})
export class FetchDataComponent {
public makes: Makes[];

constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {
http.get<Makes[]>(baseUrl + 'api/SampleData/Makes').subscribe(result => {
  this.makes = result;
}, error => console.error(error));
}

}

interface Makes {
Id: number;
Name: string;
Abrv: string;
}

这是视图

<h1>Makes</h1>

<p *ngIf="!makes"><em>Loading...</em></p>

<table class='table' *ngIf="makes">
<thead>
  <tr>
  <th>Id</th>
  <th>Name</th>
  <th>Abrv</th>
  </tr>
</thead>
<tbody>
<tr *ngFor="let make of makes">
  <td>{{ make.Id }}</td>
  <td>{{ make.Name }}</td>
  <td>{{ make.Abrv }}</td>
  </tr>
 </tbody>
</table>

因此,由于数据已填充了所需的数据,因此我假设打字稿构造函数完成了该工作并调用了该方法,但该数据未显示在网格表中,因此为空。 在同一个类中创建的接口是否重要,我认为该接口会获取信息。我可以以某种方式使用我的viewmodel代替该接口吗?

1 个答案:

答案 0 :(得分:0)

已解决:

问题出在HTML代码上。我使用了make.Id,但是当console.log(result)时,我注意到ID是小写的。将其更改为make.id并可以使用。