我有2个单选按钮,并且在“提交”按钮后输入失败。根据之前的选择未选择性别值(typeof string
)。
Male @Html.RadioButtonFor(model => model.gender)
Female @Html.RadioButtonFor(model => model.gender)
既没有选中单选按钮,而我的所有其他文本框都保留了除性别
以外的值答案 0 :(得分:3)
您没有为单选按钮设置value
属性。如果他们没有value
,则说明" on"已发布,并且在您的控制器方法中,您的模型将与gender = "on"
绑定。当您返回视图时,您的单选按钮都不匹配"on"
,因此没有选择任何一个。
更改视图以添加单选按钮的值
<label>
@Html.RadioButtonFor(m => m.gender, "Male", new { id = "" })
<span>Male</span>
</label>
<label>
@Html.RadioButtonFor(m => m.gender, "Female", new { id = "" })
<span>Female</span>
</label>
注意<label>
元素表示用户可以单击关联的文本以选择按钮,new { id = "" }
会删除id
属性,否则会创建无效的html(重复{ {1}}属性)。
此外,您应该考虑使用id
作为属性,而不是enum
string
所以属性是
public enum Gender
{
Male,
Female
}
并在视图中(假设您已包含enum的using语句)
public Gender Gender { get; set; }
link to specification(用于单选按钮和复选框)
默认/上
获取时,如果元素具有value属性,则必须返回该属性的值;否则,必须返回字符串&#34; on&#34; 。在设置时,必须将元素的value属性设置为新值。