我在我的网络项目中使用RadioButtonFor
,但是如果用户选择单选按钮的文本,我想使用标签来选择项目,但是生成的html给了我多个同样的#id' s因为Radiobuton而且我想改变它以便拥有清晰的html并使用jquery选择器而没有麻烦(具有唯一ID):
CSHTML
@foreach (var item in Model.audit.natureSelect)
{
<label>
@Html.RadioButtonFor(m => m.audit.nature, item.Id, new { Value = item.Id }) @item.NatAudit
</label>
}
HTML
<div class="col-md-10">
<label><input id="audit_type" name="audit.type" type="radio" value="1">item 1</label>
<label><input id="audit_type" name="audit.type" type="radio" value="2">item 2</label>
<label><input id="audit_type" name="audit.type" type="radio"value="3">item 3</label>
</div>
感谢帮我把它弄干净
答案 0 :(得分:5)
您没有正确使用RadioButtonFor
帮助程序。您需要的是所有单选按钮都有一个名称,但不同的ID。而且,请按照以下方式进行操作:
@foreach (var item in Model.audit.natureSelect)
{
<label>
@Html.RadioButtonFor(m => m.audit.nature, item.Id, new { id = item.Id }) @item.NatAudit
</label>
}
顺便说一句,在命名属性和方法时遵循C#命名约定。 C#中的属性名称应以大写字母开头。