我有这个包含2个布尔值的模型:
public bool m_IsOptionA {get;set;}
public bool m_IsOptionB {get;set;}
而且,在我看来,我想生成2个单选按钮,用户必须选择其中一个。所以,基本上,我需要做到这一点,如果一个被选中,另一个被取消选中。
在我的控制器中,在将模型传递给视图之前,我为对象列表的每个项初始化这些值:
foreach (var item in m_ListObjs)
{
item.m_IsOptionA = true;
item.m_IsOptionB = false;
}
然后,在我看来,我为radiobuttons生成了这段代码:
@for (int i = 0; i < Model.Count; i++)
{
<p>
<tr>
<td>@Html.RadioButtonFor(x => x[i].m_IsOptionA, new{id = "m_IsAuction_true"}, new {style = "width:100px"})</td>
<td>@Html.RadioButtonFor(x => x[i].m_IsOptionB, new{id = "m_IsBuyItNow_false"}, new {style = "width:130px"})</td>
</tr>
</p>
}
但是一旦检查它们,它们都可以被检查并保持检查,这不是我想要的行为。
我需要一些JavaScript吗?是这样,我怎么能这样做,如果没有,我做错了什么?
谢谢!
答案 0 :(得分:0)
确定!感谢@Digger37,我理解了我的错误。我不需要2个布尔值,而是需要每个值的1和2个radiobuttons。
这是我的布尔值:
public bool m_IsOptionSelected {get;set;}
现在这是我的新观点:
<td>@Html.RadioButtonFor(x => x[i].m_IsOptionSelected , "true", new {style = "width:100px"}) Option A</td>
<td>@Html.RadioButtonFor(x => x[i].m_IsOptionSelected , "false", new {style = "width:100px"}) Option B</td>
它完美无缺。谢谢!