У меня есть проблема, которая начинает сводить меня с ума. Я сузил свою проблему до следующего теста:
Модель:
public class TestModel
{
public bool TestBool { get; set; }
}
Индекс:
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@Html.Action("Test")
Тестовый просмотр:
@model IEnumerable<Test_GUI.Models.TestModel>
@using (Html.BeginForm()) {
<table>
@Html.EditorForModel()
</table>
<input type="submit" value="OK"/>
}
Шаблон редактора;
<tr>
<td>
Yes
@Html.RadioButtonFor(m => m.TestBool, Model.TestBool)
</td>
<td>
No
@Html.RadioButtonFor(m => m.TestBool, !Model.TestBool)
</td>
В TestController я создаю два экземпляра TestModel со значением false и передаю их в представление. Но радиокнопки отображаются как проверенные, и они также возвращаются как истина, если я отправляю форму ..
Я пробовал много других способов отображения радиокнопок, но, похоже, ничего не работает. Это похоже на правильный способ сделать это.
Я должен иметь возможность использовать текущее значение логического значения, поэтому я не могу использовать фиксированные значения true или false в представлении. Если я использую фиксированное значение true / false, я получаю правильные значения в форме и в контроллере после публикации формы ..