是否可以使用 AJAX 仅更新模型的一个 属性?

Is it possible to update only one property of a model using AJAX?

我有一个模型,JobApplicationForm。该模型分为短应用和长应用。这意味着第一页 post 模型的某些属性,一旦最后 3 页完成,另一个 post 更新模型以完全填充。

public class JobApplicationForm
{
    public int Prop1 {get; set}
    public string Prop2 {get; set;}
    public string Prop3 {get; set;}
    public string Prop4 {get; set;}
    public string Prop5 {get; set;}
    public int CompletionStatus {get; set;} 
}

在第一个 Post 操作中,模型填充 Prop1 和 Prop2,并设置 CompletionStatus = 1。这是 post 在表单的 1 页完成后。

然后在第 2 个 Post 操作中,还有 3 个页面填写 Prop 3、4、5,并在提交最后一页时设置 CompletionStatus = 4。

因为表格的第 2 部分是 3 页拼在一起的。有没有一种方法可以使用 AJAX 在各自的页面上简单地将 completionStatus 更新为 2 和 3?当尝试使用 AJAX post 时,我在网上发现模型必须完全填写,而且找不到任何人只更新一个 属性。更改 completionStatus 时我根本没有尝试更新视图,只是尝试更新模型的 属性.

Ajax(status 是在别处定义的一个 int 变量)

    $('.next.button').click(function() {
    $.post('/Home/UpdateCompletionStatus', {completionStatus : status});
});

我创建的第三个控制器来更新这个 属性。

[HttpPost]
public ActionResult UpdateCompletionStatus([FromBody]JobApplicationForm model, int status)
{
    if (ModelState.IsValid)
    {
        model.CompletionStatus = status;
    }
    return new EmptyResult();
}

我解决了我自己的问题。它没有更新的原因是模型绑定混淆了。我在控制器中调用了参数 status 但随后在 ajax 中调用了它 completionStatus.