C# 在ASP.NET MVC操作中获取复选框值
我正在开发一个ASP.NETMVC应用程序。我的表单的模型如下所示:C# 在ASP.NET MVC操作中获取复选框值,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我正在开发一个ASP.NETMVC应用程序。我的表单的模型如下所示: public class ViewModel { public bool IsActive { get; set; } } [HttpPost] public ActionResult MyAction(ViewModel model) { // model.IsActive always is false } 在我的表单中,我有以下HTML <label class="checkbox pull-l
public class ViewModel
{
public bool IsActive { get; set; }
}
[HttpPost]
public ActionResult MyAction(ViewModel model)
{
// model.IsActive always is false
}
在我的表单中,我有以下HTML
<label class="checkbox pull-left">
<input type="checkbox" id="IsActive" name="IsActive" data-val="true" data-val-required="The IsActive field is required.">
<i></i>Active/Deactive
<input name="IsActive" type="hidden">
</label>
为什么没有设置复选框值
我应该怎么做才能解决这个问题?您没有在复选框或其关联的隐藏输入中设置
值
属性,因此不会发布任何值,并且属性的值是其默认值(false
)。这是必须的
<label class="checkbox pull-left">
<input type="checkbox" id="IsActive" name="IsActive" value="true" ....>
<i></i>Active/Deactive
<input name="IsActive" type="hidden" value="false">
</label>
主动/非主动
旁注:是否有任何理由不使用
@Html.CheckBoxFor(m=>m.IsActive)
生成正确的Html?必须设置复选框的值attr才能获取值
数据val不同,在HTML或MVC中都不用作值attr
我建议您使用razor和
@Html.CheckBoxFor(m=>m.IsActive)
通常最好在第一次尝试时详细说明答案,否则OP会在以后要求您提供相同的答案。。。