我遇到了使用RadioButtonFor幫助器的問題。當傳入的值爲真時,它不顯示任何一個單選按鈕中的「檢查」。當該值爲假時,它工作得很好。使用Html.RadioButtonFor與布爾值不寫入Checked =「Checked」
我從我正在處理的項目中複製了該代碼並創建了一個示例應用程序,我能夠複製該問題。如果我硬編碼值爲真或假它似乎工作,但是當我使用「!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>
@ Html.RadioButtonFor(m => m.AllGroups)是一個錯誤「無法解析方法」。 – Dean
同意,不起作用。 – mbp