我有2个单选按钮,在验证失败后,“提交”button.The性别值(string类型)没有按照先前的选择进行选择。
Male @Html.RadioButtonFor(model => model.gender)
Female @Html.RadioButtonFor(model => model.gender)没有选择单选按钮,而我的所有其他文本框都保留它的值,但性别除外
发布于 2017-02-16 02:41:50
您没有为单选按钮设置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 (重复的id属性)。
此外,您应该考虑对属性使用enum而不是string。
public enum Gender
{
Male,
Female
}所以财产是
public Gender Gender { get; set; }在视图中(假设您已经为枚举包含了一个using语句)
<label>
@Html.RadioButtonFor(m => m.Gender, Gender.Male, new { id = "" })
<span>@Gender.Male</span>
</label>链接到规范 (用于单选按钮和复选框)
违约/开启 在获取时,如果元素具有值属性,则必须返回该属性的值;否则,必须返回" On "字符串。在设置时,它必须将元素的value属性设置为新值。
https://stackoverflow.com/questions/42263559
复制相似问题