使用多个参数在Ajax调用中进行模型绑定

时间:2015-07-01 05:25:24

标签: jquery ajax asp.net-mvc

我的动作方法曾经有一个参数,我没有任何问题将模型传递给它。

public ActionResult actionMethod([Bind(Exclude = "pro1, pro2")] Class model)

和Ajax电话:

var formData = $('form').serialize();
$.ajax({
    url: "@Url.Action("actionMethod", "controller")",
    method: 'post',
    data: { header: formData},
    success: function (result) {
        .....
    }
});

它工作正常,直到我不得不在方法中添加另一个参数:

public ActionResult actionMethod([Bind(Exclude = "pro1, pro2")] Class model, string anotherParam = "1")

我正在尝试使用此Ajax调用:

var formData = $('form').serialize();
$.ajax({
    url: "@Url.Action("actionMethod", "controller")",
    method: 'post',
    data: {
        header: formData,
        anotherParam: '1'
    },
    success: function (result) {
        .....
    }
});

它不再起作用,模型总是为空。我该如何传递这些数据?

1 个答案:

答案 0 :(得分:1)

可能不是最好的方式,但是以下方法会使它发挥作用。

照常传递表单数据'data'的{​​{1}}参数,并将额外参数放入网址的ajax

query string