Решение оказалось заменой
@Html.RadioButton(ViewData.TemplateInfo.HtmlFieldPrefix,
item.Value,
item.Value.Equals(Model.ToString()),
new {id, @class = "form-check-input"})
на:
@Html.RadioButton("", item.Value,
item.Value.Equals(Model.ToString()),
new {id, @class = "form-check-input"})
Правильно: замена свойства name
(описывается как " Имяполе формы и ключ ViewDataDictionary, который используется для поиска значения").с пустая строка заставляет атрибут name
в html правильно отображаться, например:
<input id="guid1" class="form-check-input" name="MyChoice" type="radio" value="OptionOne">
... и привязка модели работает как положено, возвращая выбранное значение обратнок форме в модели как перечисление при обратной передаче.Было бы неплохо, если бы это было задокументировано где-то, или еще лучше, не так , но вы идете.