C# 无法通过组件中的API获取Id(Angular、.net core)
我正在开发一个学习角度的测试项目。我的问题-来自服务的学生id等于null。我有一个控制器-学生控制器来处理数据。下面是一段代码片段,我从中获得了有关学生的数据:C# 无法通过组件中的API获取Id(Angular、.net core),c#,angular,typescript,C#,Angular,Typescript,我正在开发一个学习角度的测试项目。我的问题-来自服务的学生id等于null。我有一个控制器-学生控制器来处理数据。下面是一段代码片段,我从中获得了有关学生的数据: // GET: api/students [HttpGet] public IActionResult GetAll() { var students = _unitOfWork.Students.GetAll(); return Ok(students); } 下面是
// GET: api/students
[HttpGet]
public IActionResult GetAll()
{
var students = _unitOfWork.Students.GetAll();
return Ok(students);
}
下面是我的域模型(Student.cs),其中包含UnitOfWork方法-GetAll():
GetAll(Repository.cs):
因此,在客户端部分,学生的id是未定义的。
(students.component.ts)
在student.component.html中,我正确地获取了student数据、name和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>
{{st.StudentId}
{{st.name}}
{{st.bDate}
看法
我和邮递员一起测试了我的学生控制器,一切都通过了
我做错了什么?这很奇怪,但我找到了一个解决办法,在StudentId上写StudentId而不是StudentId。现在它工作得很好。因此,在html中,我更改为:
<td>{{ st.StudentId }}</td>
{{st.StudentId}
致:
{{st.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>
{{st.studentId}
{{st.name}}
{{st.bDate}
看法
您使用的是哪个版本的angular?angular 5、.net core 2.0在.net服务中不是错误的吗?。不管怎样,您正在使用Http o HttpClient吗?必须使用HttpClient,不需要在get()方法中使用.map()操作。检查it.console.log原始json响应,查看StudentId上是否没有输入错误,是否存在,或者是否为空。可能是因为您编写了{{st.name}
,而它应该是{st.name}
名称在您的类中带有大写字母。
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
}
<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>
<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>