Радиокнопки MVC3 ведут себя не так, как должны - PullRequest
1 голос
/ 30 января 2012

У меня есть проблема, которая начинает сводить меня с ума. Я сузил свою проблему до следующего теста:

Модель:

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, я получаю правильные значения в форме и в контроллере после публикации формы ..

1 Ответ

1 голос
/ 30 января 2012

Попробуй так:

<td>
    Yes
    @Html.RadioButtonFor(m => m.TestBool, true)
</td>
<td>
    No
    @Html.RadioButtonFor(m => m.TestBool, false)
</td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...