我的模特是:
public class Survey
{
[Required(ErrorMessage ="You must select an OK Option")]
public string Abduction { get; set; }
在视图中,我正在使用:
<td style="vertical-align:top" Width="60%">Is this OK ?</td>
<td>
@Html.RadioButton("OK", "Yes") Yes @Html.RadioButton("Ok", "No") No
</td>
我是否需要@Html.RadioButtonFor
或我错过了其他内容,因为单选按钮验证未激活。
对于提交按钮,我只做
<button type="submit" class="btn btn-primary">Sign up</button>
和BeginForm是: -
@using(Html.BeginForm("addsurvey","survey"))
{
答案 0 :(得分:0)
您应指定属性Abduction的名称并使用:
<td style="vertical-align:top" Width="60%">Is this OK ?</td>
<td>
@Html.RadioButtonFor(m => m.Abduction, "Yes") @:Yes
@Html.RadioButtonFor(m => m.Abduction, "No") @:No
</td>
或
<td style="vertical-align:top" Width="60%">Is this OK ?</td>
<td>
@Html.RadioButton("Abduction ", "Yes") Yes
@Html.RadioButton("Abduction ", "No") No
</td>
答案 1 :(得分:0)
该页面将提交,因为没有任何内容可以阻止它提交。然后,您可以检查ModelState.IsValid
以查看提交的内容是否可用/允许/有效,如下所示:
public ActionResult addsurvey(Survey srv)
{
if (ModelState.IsValid)
{
// OK: Save, Proceed and/or Redirect
}
else
{
// not OK: show View again
return View(srv); // or: View("ViewName", srv);
}
}
在视图中,请务必使用@Html.ValidationSummary()
,它会向用户显示ModelState无效的原因。