[英]Send model from view to controller onchange in mvc razor
我有以下代码
<script type="text/javascript">
$(function () {
$('#cboDeptID').change(function () {
var selectedDepartmentId = $(this).val();
var depmodel = {
Employees:'@Model.Employees',
Departments:'@Model.Departments',
DepartmentId:'@Model.DepartmentId',
DepartmentName:'@Model.DepartmentName',
SelectedDepartmentId:'@Model.SelectedDepartmentId'
};
$.ajax({
url: '@Url.Action("GetEmployees","DepartmentController")',
contentType: 'application/json; charset=utf-8',
type: 'POST',
dataType: 'json',
data: JSON.stringify({ model: depmodel })
})
.success(function (result) {
alert('Success!');})
.error(function (xhr, status){ alert('The provider could not be updated.');});
});
});
</script>
在此组合更改上,我想将模型传递给控制器。 模型包含上述成员,例如雇员,部门,部门ID等。组合更改时将触发控制器操作,但模型成员值为null。 我做错了吗? 请帮助。
控制器方法如下图
public ActionResult GetEmployees(DepartmentModel model)
{
// code goes here
return View ("DepartmentView",model);
}
您需要将JSON.stringify行更改为:
data: JSON.stringify(depmodel)
当您将此数据发布到控制器时,自动模型绑定变得混乱,因为您在调用JSON.stringify时将键值对数组(员工,部门等)发布到另一个数组中。 所以它收到的是这样的:
{ model: { Employees: <value>, ... } }
但是它想要的只是它试图绑定到的模型内属性的键值对
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.