Нет необходимости использовать атрибут id
. Вместо этого вы можете просто использовать атрибут name
, чтобы выбрать или установить значение с помощью javascript (и в любом случае, @Html.IdFor() will only ever return
NeutroBT , not the
id that you override in the
RadioButtonFor () `, чтобы его нельзя было использовать в вашем случае)
Кроме того, второй параметр RadioButtonFor()
должен быть true
или false
(не Model.NeutroBT
и !Model.NeutroBT
).
А чтобы связать метку с кнопкой, вы можете заключить ее в <label>
, например
<label>
@Html.RadioButtonFor(x => x.NeutroBT, true, new { id = ""})
<span>Yes</span>
</label>
<label>
@Html.RadioButtonFor(x => x.NeutroBT, false, new { id = ""})
<span>No</span>
</label>
Обратите внимание, что new { id = "" }
удаляет атрибут id
и предотвращает недопустимый html из-за дублирования атрибутов id
.
Затем для доступа к выбранному значению с помощью jQuery
var selectedValue = $('input[name="' + @Html.NameFor(x => x.NeutroBT) + '"]:checked').val();