模型未传递给控制器​​的操作

Model is not passed to controller's action

我有以下代码:

<script type="text/javascript">
        $('#btnConfirmAddition').click(function () {
            var contractorId = $("#contractorId").val();
            var contactPerson = $("#addNewContactPersonForm").serialize();
            $.ajax({
                url: '@Url.Action("AddContactPerson", "Contractors")',
                type: "GET",
                data: { newContactPerson: contactPerson, contractorId: contractorId },
                //data: contactPerson,
                success: function (data) {
                    $("#myModal").modal('hide');
                    toastr.success("Success");
                    location.reload();
                },
                error: function (data) {
                    $("#errorArea").html(showError(data.ErrorMessage));
                    toastr.error(data.errorMessage);
                }
            });
            return false;
        });
    </script>

    public JsonResult AddContactPerson(ContactPerson newContactPerson, string contractorId)
    {
     //Some code
    }

当我按上述方式在 ajax 调用中传递参数时,我的 newContactPerson 为 null 并且 contractorId 包含适当的数据。 但是,当从控制器的操作中删除 contractorId 参数并在 ajax 调用中传递参数时,如下所示:

data: contactPerson

有效。我想知道为什么?有人可以帮我吗?

post 您的数据如下,

data: $("#addNewContactPersonForm").serialize() + '&contractorId='+ contractorId

并将数据类型添加到 Ajax 调用,

 dataType: "json"