2つのオブジェクトを引数として取るコントローラーアクションがあります。私はそれをまったく動作させることができません。彼らは常にnullとして戻ってきます。私の最近の試みは以下のようになります。私は他の多くのバリエーションを試しました。この場合、FormInfoクラスは、Form1とForm2のタイプである2つのプロパティを持つクラスです。また、コントローラーに2つのクラスを引数として取り込んでみましたが、データ部分は{form1:form1Data、form2:form2Data}のように見えましたが、これも機能していませんでした。また、JSON.stringifyを使用してデータを作成しようとしましたが、うまくいきませんでした。ネットワークモニターを見ると、データがサーバーに戻っているのがわかります。これは、MVCがクエリ文字列をオブジェクトにデコードするために使用するエンジンであり、私が返しているものを処理できません。情報をよろしくお願いします!
クライアント側
var formData = $("#form1").serialize();
var formData2 = $("#form2").serialize();
var formInfo = new Object();
formInfo.FormData = formData;
formInfo.FormData2 = formData2;
$.ajax({
url: 'Controller/Action',
type: 'POST',
data: formInfo,
success: function (data) {
//do stuff
}
});
サーバ側
public ActionResult SaveForms(FormInfo formInfo)
{
//Do Stuff here
}