FormCollection を投稿してラジオ ボタンの値を取得しようとすると、常に最後のラジオ ボタンの値が取得されます (どちらがチェックされているかに関係なく)。なぜこれを行うのですか?私の一時的な回避策は、非表示の値を作成し、onclick JS メソッドを追加することです。同じ結果で純粋な HTML コードを使用してみました。
ビューのコード
@Html.RadioButton("Radio", "No", true, new { id = "Radio0"}) + " No");
@Html.RadioButton("Radio", "Yes", false, new { id = "Radio1"}) + " Yes");
結果の HTML
<input checked="checked" id="Radio0" name="Radio" type="radio" value="No"> No
<input id="Radio1" name="Radio" type="radio" value="Yes"> Yes
コントローラーコード
[HttpPost, ValidateInput(false)]
public ActionResult MyPostBack(FormCollection form)
{
string radio = form["Radio"]; //************** this is always "Yes"
return View("MyView");
}