Bootstrap被广泛应用,许多比我聪明得多的人都曾经参与开发它,因此我相信我即将指出的问题根本不是问题,只是我使用方法有误,但是....
我有一个表单,其中一个复选框被转换为开关,使用了bootstrapSwitch()
这是我的html代码:
<div class="bootstrap-switch-square">
<input type="checkbox" data-toggle="switch" name="Resend" id="Resend" />
</div>
同时也有js:
$("#Resend").bootstrapSwitch();
这将在我的页面上产生一个整洁的Bootstrap切换开关。该页面发布到一个ASP.NET MVC4控制器方法,该方法期望模型中的布尔值。
public class MyModel
{
public bool Resend { get; set; }
}
当我提交这个表单时,我的“Resend”布尔值总是为false。为什么?因为bootstrap开关提交的值是“on”,而不是“true”。我不想将我的模型从布尔值更改为字符串,所以我被迫在jquery中拦截提交,并在复选框的值为“on”时将其更改为“true”。这对我来说似乎是相反的。如果在复选框上使用bootstrapSwitch(),它应该生成true/false而不是on/off。我有什么遗漏吗?
on
。要么使用@Html.CheckboxFor()
,要么在你的HTML中手动添加value="true"
。 - user3559349on
,如果已选中(除非提供了value属性)。 - user3559349