数据未从控制器传递到视图

Data not passed from controller to view

我有一个 webapi 应用程序,其中我有一个代码来填充视图中的 table

控制器(主页)代码是

    [HttpGet]
    public List<Employee> GetEmployees()
    {
        var com = new TrainingDBEntities();
        var records = from emp in com.tblEmployees
                      select new Employee
                      {
                          empID  = emp.empID,
                          empName = emp.empName,
                          skill=emp.skill,

                      };
        return records.ToList();
    }

并且在视图中

//show emp details
        $('#btshw').click(function () {


            $.ajax({


                url: "/Home/GetEmployees",

                success: function (result) {
                    console.log(result);
                    for (var i = 0; i < result.length; i++) {
                        var Row = "<tr><td>";
                        Row += result[i].empID + "</td><td>";
                        Row += result[i].empName + "</td><td>";
                        Row += result[i].skill + "</td><td>";
                        $('#emplist').append(Row);

                    }
                    $('#emplist').append("</table>");
                }
                ,
                error: function (err) {
                    alert(err.status.Text);

                }
            });
        });

但是在执行之后我得到了一个 table 有 3 列并且所有的值都为 'undefined' ,我已经调试了代码并且在 onclick 事件中它转到了控制器并且它 returns 正确的值,但到达视图时数据不正确(在 ajax 代码中)

您可以将结果类型更改为 JsonResult:

[HttpGet]
public JsonResult GetEmployees()
{
      var com = new TrainingDBEntities();
      var records = from emp in com.tblEmployees
                          select new Employee
                          {
                              empID = emp.empID,
                              empName = emp.empName,
                              skill = emp.skill,

                          };
       return Json(records.ToList(), JsonRequestBehavior.AllowGet);
  }