繁体   English   中英

将模型从视图发送到MVC剃须刀中的控制器onchange

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM