У меня есть этот шаблон Razor
<table>
<tr>
<td>@Html.RadioButtonFor(i => i.Value, "1")</td>
<td>@Html.LabelFor(i => i.Value, "true")</td>
</tr>
<tr>
<td>@Html.RadioButtonFor(i => i.Value, "0")</td>
<td>@Html.LabelFor(i => i.Value, "false")</td>
</tr>
</table>
Это дает мне этот HTML
<table>
<tr>
<td><input id="Items_1__Value" name="Items[1].Value" type="radio" value="1" /></td>
<td><label for="Items_1__Value">true</label></td>
</tr>
<tr>
<td><input checked="checked" id="Items_1__Value" name="Items[1].Value" type="radio" value="0" /></td>
<td><label for="Items_1__Value">false</label></td>
</tr>
</table>
Итак, у меня есть ID Items_1__Value
дважды, что, конечно же, не очень хорошо и не работает в браузере, когда я нажимаю на вторую метку "false", первая радиостанция будет активирована.
Я знаю, что могу добавить собственный идентификатор в RadioButtonFor и обратиться к этому с помощью моего ярлыка, но это не очень хорошо, не так ли? Особенно потому, что я в цикле и не могу просто использовать имя "значение" с добавленным номером, которое также будет в конечном итоге в нескольких идентификаторах в моей окончательной разметке HTML.
Не должно быть хорошего решения для этого?