我在使用 RadioButtonFor 助手时遇到问题。当传入的值为 true 时,它不会在任一单选按钮中显示“检查”。当值为 false 时,它工作得很好。
我从我正在处理的项目中复制了这段代码并创建了一个示例应用程序,并且我能够复制该问题。如果我将值硬编码为真或假,它似乎可以工作,但是当我使用“!string.IsNullOrEmpty(allgroups)”时它不会。
从视图:
<div>
@Html.RadioButtonFor(m => m.AllGroups, true) All Groups
@Html.RadioButtonFor(m => m.AllGroups, false) Current Groups
</div>
从视图模型:
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 的值为 false 时从查看源代码(注意它有效):
<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>