Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法通过组件中的API获取Id(Angular、.net core)_C#_Angular_Typescript - Fatal编程技术网

C# 无法通过组件中的API获取Id(Angular、.net core)

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); } 下面是

我正在开发一个学习角度的测试项目。我的问题-来自服务的学生id等于null。我有一个控制器-学生控制器来处理数据。下面是一段代码片段,我从中获得了有关学生的数据:

// 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>