在MVC的Razor视图foreach循环组单选按钮? [英] Group radio buttons in foreach loop in MVC razor view?

查看:123
本文介绍了在MVC的Razor视图foreach循环组单选按钮?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经通过如下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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆