在MVC的Razor视图foreach循环组单选按钮? [英] Group radio buttons in foreach loop in MVC razor view?
问题描述
我已经通过如下HTML帮助中提供额外的HTML属性试图群组内环路一组单选按钮 -
< OL类=选项>
@foreach(在quest.Options VAR OPT)
{
<李班=选项>
@ Html.RadioButtonFor(O => opt.Title,opt.Title,新{@name =uniqueRadio})
@ Html.Label(opt.Title)
< /李>
}
< / OL>
不过name属性OT生成的输入HTML标签被过度写的 opt.Title 原因很明显。 MVC-4使用name属性强类型的模型结合发布数据时。
如何使单选按钮组合在一起?
编辑:我换成RadioButtonFor与单选按钮,如下建议。但这种方式,我想念出模型绑定功能。
< OL类=问题>
@for(INT J = 0; J< Model.Options.Count; J ++)
{
<李班=选项>
@ Html.RadioButton(uniqueRadio,Model.Options [J] .IsSelected,FALSE)
@ Model.Options [J] .title伪
< /李>
}
< / OL>
使用简单的单选
< OL类=选项>
@foreach(在quest.Options VAR OPT)
{
<李班=选项>
@ Html.RadioButton(uniqueRadio,opt.Title)
@ Html.Label(opt.Title)
< /李>
}
< / OL
I have tried to group a set of radio buttons inside loop by providing additional html attribute in html help as below -
<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>
However name attribute ot generated input html tag gets over-written by opt.Title for obvious reasons. MVC-4 uses name attribute for strongly typed model-binding when posting data.
How do I make radio button grouped together ?
EDIT: I replaced RadioButtonFor with RadioButton, as suggested below. But this way I miss-out model binding feature.
<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>
Use simple RadioButton
<ol class="Opt">
@foreach (var opt in quest.Options)
{
<li class="Opt">
@Html.RadioButton("uniqueRadio", opt.Title)
@Html.Label(opt.Title)
</li>
}
</ol
这篇关于在MVC的Razor视图foreach循环组单选按钮?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!