复选框始终在MVC中返回空值剃刀
问题描述:
我正在使用CheckBoxFor提交布尔值。复选框始终在MVC中返回空值剃刀
Demo.cshtml
<div class="checkbox">
<label>@Html.CheckBoxFor(i => i.ReportModel.Is_XRay.Value) X-Ray</label>
</div>
即使我选择复选框,我正在隐值false。
而且当我提交页面,我得到复选框null值
答
隐藏的输入应该始终有假值。这是因为当您的复选框没有被选中时,没有数据会被发送到服务器。要解决这个问题,有一个隐藏的输入,其值始终发布到服务器。您将注意到,在使用勾选的方框提交时,网址应该包含变量名称两次(一次为true,一次为false)。现在解决你的真正问题 - 我怀疑它可能与你的变量的名称有关。当你在列表中使用对象时,Razor会插入下划线,而且我认为你已经在给模型绑定器一个难题了。
是否有任何理由'Is_XRay'为空?我认为这可能是你的问题的原因... – petelids
数据库中没有它的只是空。但总是有值真/假 –
看看这个问题 - http://*.com/questions/6849774/mvc3-creating-checkbox-for-nullable-boolean。我认为这可能会有所帮助。在这种情况下,最好查看Darin的答案(即创建一个具有非空属性的视图模型)。 – petelids