1

私の .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
    }
});
4

1 に答える 1