0

我有这个模型,其中包含 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;
}

然后,在我看来,我为单选按钮生成以下代码:

@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吗?是这样,我怎么能这样做,如果不是,我做错了什么?

谢谢!

4

1 回答 1

0

好的!感谢@Digger37,我理解了我的错误。我不需要 2 个布尔值,而是需要为每个想要的值设置一个和 2 个单选按钮。

这是我的布尔值:

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>

而且效果很好。谢谢!

于 2013-03-08T14:03:54.053 回答