当用户第一次加载页面并且没有做出选择时,我需要取消选中单选按钮。一旦他们选择了一个选项,我需要它来保存他们的选择。由于它必须基于模型中的数据,似乎jQuery已经出局了。
模型
public enum AccountType
{
Checking,
Savings
}
public AccountType DDAccountType { get; set; }
数据访问
if (oReader["DDAccountType"] != DBNull.Value)
model.DDAccountType = (oReader["DDAccountType"].ToString() == "Checking") ? AccountType.Checking : AccountType.Savings;
剃刀
Checking @Html.RadioButtonFor(m => m.myModel.DDAccountType, "Checking")
Savings @Html.RadioButtonFor(m => m.myModel.DDAccountType, "Savings")
我的猜测是因为模型值永远不会被设置为null,所以单选按钮将被取消选中,但它总是按Tab键顺序选择第一个。
答案 0 :(得分:1)
将您的财产更改为:
public AccountType? DDAccountType { get; set; }
您需要允许它可以为空,否则将始终从枚举中传递默认值,从而导致始终检查其中一个项目。如果您需要该属性,您仍然可以通过添加[Required]
属性来指示需要存在某个值,如果实际传回null值,则会生成ModelState
错误。