Невозможно получить идентификатор через API в компоненте (Angular, ядро ​​.net) - PullRequest
0 голосов
/ 18 мая 2018

Я разрабатываю тестовый проект для изучения Angular.Моя проблема - идентификатор студента из сервиса равен нулю.У меня есть контроллер - StudentController для работы с данными.Вот фрагмент кода, где я получаю данные о студентах:

// GET: api/students
    [HttpGet]
    public IActionResult GetAll()
    {
        var students = _unitOfWork.Students.GetAll();
        return Ok(students);
    }

А вот моя модель домена (Student.cs) с методом UnitOfWork - GetAll ():

public class Student
{
    public int StudentId{get;set;}
    public string Name { get; set; }
    public DateTime bDate {get;set;} 
}

GetAll (Repository.cs):

public virtual IEnumerable<TEntity> GetAll()
    {
        return _entities.ToList();
    }

Далее я создал сервис для получения данных из API (student.service.ts):

  private readonly _StudentsUrl: string = "/api/students";
GetAll()
{
    return this.http.get(this._StudentsUrl)
    .map(res => res.json());
  }

Итак, в клиентеИдентификатор студента частично не определен.(student.component.ts)

   export class StudentsComponent {
    students:Student[];
    constructor(private studentService: StudentService) { }

    ngOnInit() {
      this.studentService.GetAll()
      .subscribe(students => this.students = students);
    }
}
    export class Student {
        StudentId: number;
        Name: string;
        bDate:DateTimeFormat
      }

В student.component.html я правильно получаю данные о студентах, их имена и bDate, а StudentId - нет.

<tr *ngFor="let st of students">
    <td>{{ st.StudentId }}</td>
    <td>{{ st.name }}</td>
    <td>{{ st.bDate }}</td>
    <td>
      <a [routerLink]="['/students/', st.StudentId]">View</a>
    </td>
  </tr>

Я проверил свой StudentController с почтальоном, и все прошло правильно.

Что я делаю не так?

1 Ответ

0 голосов
/ 18 мая 2018

Это странно, но я нашел решение, написав вместо StudentId на studentId.Теперь это работает отлично.Поэтому в html я изменяю с:

<td>{{ st.StudentId }}</td>

на: <td>{{ st.studentId }}</td>

Модифицированный код:

<tr *ngFor="let st of students">
        <td>{{ st.studentId }}</td>
        <td>{{ st.name }}</td>
        <td>{{ st.bDate }}</td>
        <td>
            <a [routerLink]="['/students/', st.studentId]">View</a>
        </td>
    </tr>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...