在MVC剃刀视图中的foreach循环中的组单选按钮?

时间:2013-08-04 06:52:56

标签: asp.net-mvc asp.net-mvc-4

我试图通过在html帮助中提供额外的html属性来在循环内对一组单选按钮进行分组,如下所示 -

<ol class="Opt">
    @foreach (var opt in quest.Options)
    {
        <li class="Opt">
            @Html.RadioButtonFor(o => opt.Title, opt.Title, new { @name = "uniqueRadio"})
            @Html.Label(opt.Title)
        </li>
    }
</ol>

然而,由于显而易见的原因,名称属性ot生成的输入html标记被 opt.Title 覆盖。在发布数据时,MVC-4使用名称属性进行强类型模型绑定。

如何将单选按钮组合在一起?

编辑:我用RadioButton替换了RadioButtonFor,如下所示。但这样我就错过了模型绑定功能。

<ol class="Question">
    @for (int j = 0; j < Model.Options.Count; j++)
    {
        <li class="Opt">                    
            @Html.RadioButton("uniqueRadio", Model.Options[j].IsSelected, false)
            @Model.Options[j].Title
        </li>
    }
</ol>

1 个答案:

答案 0 :(得分:4)

使用简单的RadioButton

<ol class="Opt">
    @foreach (var opt in quest.Options)
    {
        <li class="Opt">
            @Html.RadioButton("uniqueRadio", opt.Title)
            @Html.Label(opt.Title)
        </li>
    }
</ol