当我发布 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");
}