在呈现HTML时,Html.CheckBoxFor助手似乎没有添加正确的“checked”属性。
我有一个像这样渲染的bool属性:
<%= Html.CheckBoxFor(m => m.Visible) %>
输出的HTML是这样的:
<input type="checkbox" value="true" name="Visible" id="Visible">
当值为true时,是否有某些特殊原因不添加“checked”属性?
答案 0 :(得分:4)
这是一个愚蠢的问题。我忘了为我的新Visible字段添加绑定,并且只将它添加到我的POCO类中,因此它总是错误的。此外,输入标记的值是红色鲱鱼,因为它始终设置为true,实际值来自在输入标记正下方呈现的隐藏字段,如下所示:
<input type="hidden" value="false" name="Visible">
答案 1 :(得分:0)
我尝试了这个解决方案:
<%if (Model.Enabled == true)
{ %>
<input id="Enabled" checked="checked"
type="checkbox" name="Enabled"
value ="True" />
<%}
else
{ %>
<input id="Enabled"
type="checkbox" name="Enabled"
value ="False" />
<%} %>
谢谢