Radiobuttonfor仅在多个选项之间选择一个选项

时间:2013-03-08 13:14:23

标签: c# asp.net-mvc radio-button

我有这个包含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吗?是这样,我怎么能这样做,如果没有,我做错了什么?

谢谢!

1 个答案:

答案 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>

它完美无缺。谢谢!