ここで私の質問に対する答えが得られなかったので、MVC FormCollectionのチェックボックスとラジオボタン
別のアプローチを取り、ラジオボタンの値のクライアント側を見つけて、ajax呼び出しで別の名前/値のペアとして渡すと思いました...それは素晴らしいアイデアでしたが、取得できません仕事。
これを使用すると、フォーム コレクションを渡すことができます。
formCollection = $(':input');
$.ajax({
type: "POST",
url: "/mycontroller/mymethod",
data: formCollection,
dataType: "text",
success: showConfirm,
error: function (xhr, textStatus, errorThrown) {
alert(xhr.responseText);
}
});
しかし、データを次のようなオブジェクトに変更しようとすると:
formCollection = $(':input');
$.ajax({
type: "POST",
url: "/mycontroller/mymethod",
data: ({collection: formCollection}),
dataType: "text",
success: showConfirm,
error: function (xhr, textStatus, errorThrown) {
alert(xhr.responseText);
}
});
飛ばない。最終的にこれを使用できるように、それを行う必要があります。
formCollection = $(':input');
$.ajax({
type: "POST",
url: "/mycontroller/mymethod",
data: ({collection: formCollection, radiobutton: radiobuttonValue}),
dataType: "text",
success: showConfirm,
error: function (xhr, textStatus, errorThrown) {
alert(xhr.responseText);
}
});
コントローラーのアクション メソッドは次のようになります。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult mymethod(FormCollection collection)
{
}
データを変更すると機能しないのはなぜですか?