У меня возникла проблема с помощью помощника RadioButtonFor. Когда значение передано в true, оно не отображает «проверку» в любом переключателе. Когда значение ложно, оно работает отлично.Использование Html.RadioButtonFor с булевым не записывается Проверено = "Проверено"
Я скопировал этот код из проекта, над которым я работаю, и создал образец приложения, и я смог воспроизвести проблему. Если я жестко закодировал значение true или false, это работает, но когда я использую «! String.IsNullOrEmpty (allgroups)», это не так.
С Вид:
<div>
@Html.RadioButtonFor(m => m.AllGroups, true) All Groups
@Html.RadioButtonFor(m => m.AllGroups, false) Current Groups
</div>
От ViewModel:
public bool AllGroups { get; set; }
От контроллера:
public ActionResult Index(string allgroups)
{
var model = new ProgramGroupIndexViewModel
{
AllGroups = !string.IsNullOrEmpty(allgroups)
};
return View(model);
}
От источника просмотра в IE:
<div>
<input id="AllGroups" name="AllGroups" type="radio" value="True" /> All Groups
<input id="AllGroups" name="AllGroups" type="radio" value="False" /> Current Groups
</div>
От источника зрения, когда значение AllGroups является ложным (обратите внимание, это работает):
<div>
<input id="AllGroups" name="AllGroups" type="radio" value="True" /> All Groups
<input checked="checked" id="AllGroups" name="AllGroups" type="radio" value="False" /> Current Groups
</div>
@ Html.RadioButtonFor (m => m.AllGroups) - это ошибка «Невозможно разрешить метод». – Dean
Согласен, не работает. – mbp