我在一个MVC页面上有这个性别字段,它在Chrome的控制台中产生了一个重复ID的错误。
<div class="form-group row">
@Html.LabelFor(m => m.UserGender, new { @class = "col-sm-4" })
<div class="col-sm-6">
<label>@Html.RadioButtonFor(m => m.UserGender, "true") Male </label>
<label>@Html.RadioButtonFor(m => m.UserGender, "false") Female </label>
</div>
</div>
这是Chrome的控制台输出。
Registration:1 [DOM] Found 2 elements with non-unique id #UserGender: (More info: ...) <input data-val="true" data-val-required="The Gender field is required." id="UserGender" name="UserGender" type="radio" value="true"> <input id="UserGender" name="UserGender" type="radio" value="false">
我的页面上有几个这样的错误。我如何设置单选按钮选项来防止这种情况?
研究
我发现了一个方法,可以在一个随机的 id
每一个无线电元素,以 修理 控制台吐出警告,但不知道在MVC中是否有合适的方法来处理这个问题。
<label>@Html.RadioButtonFor(m => m.UserGender, "true", new { id = "radio" + Guid.NewGuid(), @checked = "checked" }) Male </label>
显然,通过HTML属性添加is是唯一的方法。
<label>@Html.RadioButtonFor(m => m.UserGender, "true", new { id = "radio" + Guid.NewGuid(), @checked = "checked" }) Male </label>