Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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# 无论值是多少,nullable bool始终被传递给控制器null_C#_Asp.net Mvc 3 - Fatal编程技术网

C# 无论值是多少,nullable bool始终被传递给控制器null

C# 无论值是多少,nullable bool始终被传递给控制器null,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我正试图将一个可为空的布尔值传递给我的控制器。但是,当我将bool值从视图传递给控制器时,不管它在视图中的值是多少,它总是被传递为null 以下是我的看法: @model Cars.Models.Car @using (Html.BeginForm("Index", "Home", FormMethod.Post, new { id = "CategoryFormID"})) { <label>Convertible:</label> <input

我正试图将一个可为空的布尔值传递给我的控制器。但是,当我将bool值从视图传递给控制器时,不管它在视图中的值是多少,它总是被传递为null

以下是我的看法:

@model Cars.Models.Car

@using (Html.BeginForm("Index", "Home", FormMethod.Post,
new { id = "CategoryFormID"})) {
    <label>Convertible:</label>
    <input type="checkbox" id="ConvertibleID" name="convertible"/>
    <button type="submit" name="submit" value="search" id="SubmitID">Search</button>
}
我还有其他字段,如下拉列表和文本字段,但它们的传递是完美的。任何帮助都将不胜感激

更新: 谢谢你的快速回复。然而,我确实试着按照你们的建议给它一个value=“True”。现在只有两个选项:null和true。但我的意图是使用nullable bool有三个选项:null(当用户不点击复选框时)、true(选中)和false(未选中)。我知道这听起来既不聪明也不愚蠢,但我只是想弄清楚nullable bool是如何工作的,在C#中有这样一个东西的意图是什么(我是C#的新手)。
我想知道是否可以只使用复选框,而不使用下拉列表或单选按钮。请在复选框中输入一个值

<input type="checkbox" value="True" id="ConvertibleID" name="convertible"/>

也许您可以按要求购买

Request.Form["convertible"]

尝试将属性
value=“true”
分配给输入标记。这是mvc行为,但为此需要实现自定义绑定器。如果一些例子能让你开心,请告诉我。例子会非常棒!谢谢尝试过之后,当我选中它时,它会工作,但当我取消选中复选框时,它会将值传递为null。那么有没有办法让它有三个值呢?如果不是,那么空布尔值有什么意义?谢谢。问题是,您使用的复选框只有两个选项,选中时为true,未选中时为null/false
Request.Form["convertible"]