如何使用jQuery Form Plugin向我的表单发送额外数据?

时间:2013-07-12 00:09:56

标签: jquery ajax forms jquery-plugins

在我的.NET MVC4 / razor应用程序中,我有一个表单,我想在表单中包含其他数据,作为对我的控制器方法的请求的一部分。但是,它似乎没有添加此额外数据。我遇到了模型绑定错误:参数字典包含非可空类型'System.Boolean'的参数'B'的空条目。基本上,它不会将额外数据添加到请求中。我有什么问题吗?

HTML:

@using (Html.BeginForm("MyAction", "MyController", FormMethod.Post, new { name = "myForm", id = "myForm" }))
{
    //blah
}

控制器:

public ActionResult MyAction(MyViewModel viewModel, string A, bool B)
{
    //do stuff
}

Javascript ...我已经尝试了几种方法,无法让它发挥作用。

beforeSerialize:

$('#myForm').ajaxForm({
    beforeSerialize: function (form, options) {
        options.data = {
            A: "test",
            B: true
        };
    },
    success: function (result) {
        //do stuff
    }
});

beforeSubmit:

$('#myForm').ajaxForm({
    beforeSubmit: function (formData, formObject, formOptions) {
        formData.push({A: "test", B: true });
    },
    success: function (result) {
        //do stuff
    }
});

数据:

$('#myForm').ajaxForm({
    data: {
        A: "test",
        B: true
    },
    success: function (result) {
        //do stuff
    }
});

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。问题是包含我的表单的div正在重新呈现在不同的ajax事件上,并吹响页面加载时发生的绑定魔法。