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

时间:2015-01-09 21:55:10

标签: ajax asp.net-mvc

我有以下代码:

<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

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

1 个答案:

答案 0 :(得分:1)

按照以下方式发布您的数据

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

将数据类型添加到Ajax调用

 dataType: "json"