为什么MVC Html.RadioButton像复选框一样工作,而不是像单选按钮一样?

时间:2013-07-12 12:26:45

标签: asp.net-mvc razor

在这些代码中我有一个奇怪的情况:

@foreach (var subs in getSubscriptionTypes())
{
    <p>@Html.RadioButton(subs.LengthMonths.ToString(), subs.Price) @subs.LengthMonths</p>
}

我得到了所有subs,但是radiobuttons表现得非常奇怪 - 我可以检查所有的radiobuttons,但我想只检查一个(一个是true,然后休息是{{1} })。如何修复?

问候。

1 个答案:

答案 0 :(得分:1)

每个单选按钮的第一个参数必须相同才能使它们互斥(参见this demo)。

所以试试:

<p>@Html.RadioButton("subtype", subs.Price) @subs.LengthMonths</p>

为了获得更好的用户界面,您还可以使用@Html.Label(...)添加label element,以便用户可以点击文字来选择广播:

<p>
    @Html.RadioButton("subtype", subs.Price, new { id = "subtype-" + subs.Price })
    @Html.Label("subtype-" + subs.Price, @subs.LengthMonths)
</p>