在我的.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
}
});
答案 0 :(得分:0)
我解决了这个问题。问题是包含我的表单的div正在重新呈现在不同的ajax事件上,并吹响页面加载时发生的绑定魔法。