Html.CheckBoxFor()检查ASP.Net MVC 2中的问题

时间:2010-05-03 16:12:16

标签: c# asp.net asp.net-mvc

在呈现HTML时,Html.CheckBoxFor助手似乎没有添加正确的“checked”属性。

我有一个像这样渲染的bool属性:

<%= Html.CheckBoxFor(m => m.Visible) %>

输出的HTML是这样的:

<input type="checkbox" value="true" name="Visible" id="Visible">

当值为true时,是否有某些特殊原因不添加“checked”属性?

2 个答案:

答案 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" />
                           <%} %>

谢谢