将类应用于RadioButtonFor

时间:2016-12-12 00:31:01

标签: asp.net razor radiobuttonfor

我将一个类应用于RadioButtonFor,以便单选按钮和标签之间的宽度不会太大。没有课程,单选按钮左右两侧有很大的空间,如下图所示。但是,当我应用该类时,由于使用了if条件,只有当前选中的单选按钮会删除空白区域(请参阅下图中的“稍后告诉您”选项)。如何将课程应用于所有单选按钮? 我尝试对代码进行以下更改,问题是即使此方法将类应用于所有单选按钮,保存在数据库中的单选按钮选择也不会应用于正确的单选按钮。使用以下方法,始终选择最后一个单选按钮:item.IsChecked == true ? new { @checked = "checked", @class = "myclassradio" } : new { @checked = "unchecked", @class = "myclassradio"}

enter image description here

我的完整代码如下:

@foreach (var item in Model.religion)
{                        
   <span>@Html.RadioButtonFor(m => m.SelectedReligion, item.ID, item.IsChecked == true ? new { @checked = "checked", @class = "myclassradio" } : null ) @item.MyReligion </span>    
}

1 个答案:

答案 0 :(得分:0)

我明白了。只需将一个IF条件放入foreach循环中......呃?!!

@foreach (var item in Model.religion)
    if ( item.IsChecked == true )  
    {                     
        <span>@Html.RadioButtonFor(m => m.SelectedReligion, item.ID, new { @checked = "checked", @class = "myclassradio" } ) @item.MyReligion </span>    
    }
    else
    {
        <span>@Html.RadioButtonFor(m => m.SelectedReligion, item.ID, new { @class = "myclassradio" } ) @item.MyReligion </span>    
    }
}