首页 > 解决方案 > 为什么 viewmodel obj 在控制器中为空?

问题描述

我想在我的控制器中传递表单值。但它是空的。我找不到问题。我需要将 viewmodel 对象从视图传递到控制器。并且 obj 属性为空。我在下面给出了我编写的每个模型和代码

这是我的视图模型:

{ 
      public customer customer {get ; set ; }
      public student student {get ; set ; }
}

我的学生模特

{ 
      public string studentId {get ; set ; }
      public string studentname {get ; set ; }
}

我的客户模型

{ 
      public string customerId {get ; set ; }
      public stringcustomername {get ; set ; }
}

此代码在我的控制器中

public IActionResult Add(viewmodel obj)
{
    obj is null
}

看法:

<div class ='row'>
<div class='col-md-6'>
<form id="myform">
    <input asp-for="customer.customername" class="form-control form-control-sm" />
    <span asp-validation-for="customer.customername" class="text-danger"></span>

    <input asp-for="student.studentname" class="form-control form-control-sm" />
    <span asp-validation-for="student.studentname" class="text-danger"></span>
</form>
</div>
<div class='col-md-6'>
<button id='add'>add</button>
</div>
</div>

这是在我的.js文件中

$('#add').click(() => {
    $.ajax({
        url: "/controller/Add",
        method: "POST",
        data: $("#myform").serialize()
    })
})

标签: jqueryasp.net-mvcasp.net-core

解决方案


推荐阅读