Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET MVC操作中获取复选框值_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 在ASP.NET MVC操作中获取复选框值

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

我正在开发一个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-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会在以后要求您提供相同的答案。。。