私の .NET MVC4/razor アプリにはフォームがあり、コントローラー メソッドへの要求の一部として、フォームに見つからない他のデータを含めたいと考えています。ただし、この余分なデータを追加しているようには見えません。モデル バインディング エラーが発生しました。パラメーター ディクショナリには、null 非許容型 'System.Boolean' のパラメーター 'B' の null エントリが含まれています。基本的に、リクエストに余分なデータを追加していません。私が間違っていることの手がかりはありますか?
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
}
});
送信前:
$('#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
}
});