MVC 开机自检方法不起作用

本文关键字:不起作用 方法 开机自检 MVC | 更新日期: 2023-09-27 17:56:11

我正在努力解决一个问题,我找不到任何解决方法。

这是我的班级学生:

public class Student
{
    public int ID { get; set; }
    public string Nume { get; set; }
    public string Prenume { get; set; }
    public int Nota { get; set; }
    public bool Status { get; set; }
}

这是控制器的 post 方法:

[HttpPost]
public IHttpActionResult Post([FromBody] Student student)
{
    if (student == null) return BadRequest();
    studenti.Add(student);
    return CreatedAtRoute("StudentApi", new { ID = student.ID }, student);
}

我尝试发送一个 JSON 如下:

{ "ID": 6, "Nume": "Test", "Prenume": "TestP", "Nota": 10, "Status": true } 

并返回它...每次我得到 null 并且没有元素被添加到列表中......

MVC 开机自检方法不起作用

很难说出问题是什么,因为您没有向我们展示如何调用 Post 操作,但假设您有一个名为 StudentController 的 Web API 控制器,如下所示:

public class StudentController : ApiController
{
    [HttpPost]
    public IHttpActionResult Post([FromBody] Student student)
    {
        if (student == null) return BadRequest();
        //studenti.Add(student);
        return CreatedAtRoute("StudentApi", new { ID = student.ID }, student);
    }
}

要使用 jQuery 将Student发布到 Post 操作,您可以执行以下操作:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
        $("#btnAddStudent").click(function () {
            var student = {
                "ID": 6,
                "Nume": "Test",
                "Prenume": "TestP",
                "Nota": 10,
                "Status": true
            }
            $.ajax({
                type: "POST",
                url: "/api/Student",
                data: student,
                success: function (data) {
                    alert("New student created.");
                },
                error: function (error) {
                    alert("Called failed");
                }
            });
        });
    });
</script>
<input type="button" id="btnAddStudent" value="Add Student" />