0

单选按钮名称和 ID 来自数据库。这就是我所做的。

foreach (var radiobtn in Model.PrintLocations)
          {
            if (int.Parse(radiobtn.Value) < 3)
                {                                                        
                 <td>
                    @Html.RadioButtonFor(m => m.PrintLocation, radiobtn.Value.ToString())
                    @radiobtn.Text
                 </td>
                }
            }

1 我的要求是默认选择具有 id 的单选按钮。请帮忙。

4

2 回答 2

0

您可以使用 RadioButtonListFor 助手。

如果你使用 Twitter Bootstrap,你可以只使用TwitterBootstrapMVC。它内置了这个助手。否则你可以从这里获取和调整它的代码。您可以从此处获得使用此类帮助程序的示例(向下滚动到CheckBoxList / RadioButtonList)。这个助手的美妙之处在于它PrintLocations可以是任意IEnumerable的——不仅仅是一个IEnumerable<SelectListItem>.

快速代码示例:

@(Html.Bootstrap().RadioButtonListFor(
    m => m.PrintLocation,
    m => m.PrintLocations,
    loc => loc.Value,
    loc => loc.Text)
    .SelectedValues(loc => loc.Value == 1))

我推荐这个助手有两个原因。首先,因为我构建了它 :) 其次,它使用流利的语法。

对于类似的东西,还有另一个很酷的助手,它不会产生与 Bootstrap 相关的标记:CheckBoxList(For)。也检查一下!

于 2013-09-18T17:45:59.103 回答
0

你可以做这样的事情

foreach (var radiobtn in Model.PrintLocations)
{
    if (int.Parse(radiobtn.Value) < 3)
    {                                                        
     <td>
        if(yourCondition)
        {
            @Html.RadioButtonFor(m => m.PrintLocation, radiobtn.Value.ToString())
        }
        else
        {
            @Html.RadioButtonFor(m => m.PrintLocation, radiobtn.Value.ToString(), new { @checked = "checked" })
        }
        @radiobtn.Text
     </td>
    }
}

其他方式(如果您不想要“脏”的 html 代码)是通过 javascript(或 jquery)选择收音机

希望我有所帮助

于 2013-09-18T14:40:34.320 回答