Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.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
mvc 4 asp.net c#将布尔值从控制器传递到视图_C#_Asp.net Mvc_Asp.net Mvc 4_Razor - Fatal编程技术网

mvc 4 asp.net c#将布尔值从控制器传递到视图

mvc 4 asp.net c#将布尔值从控制器传递到视图,c#,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net Mvc,Asp.net Mvc 4,Razor,如何使用以下方法从控制器向视图中的复选框获取布尔值或true或false: @Html.CheckBox("condition", @ViewData["Condition"]) 或 在我看来是这样的 请帮我更新控制器 public ActionResult Member(string sortOrder, string filter, string searchString, int? page,bool condition) { ViewData["Condition"] = c

如何使用以下方法从控制器向视图中的复选框获取布尔值或true或false:

@Html.CheckBox("condition", @ViewData["Condition"])

在我看来是这样的

请帮我更新控制器

public ActionResult Member(string sortOrder, string filter, string searchString, int? page,bool condition)
{
    ViewData["Condition"] = condition;
    // code line 1
    // code line 2
       ... 
}
如果您正在查找Razor视图的复选框,请选中/取消选中代码

@Html.EditorFor(x => x.condition)
将产生:

<input id="condition" type="checkbox" value="true" name="condition" />
<input type="hidden" value="false" name="condition" />

它是如何工作的:

如果未选中复选框,则表单仅提交隐藏(false) 如果选中,则表单提交两个字段(false和true),并为bool属性设置MVC true

<input id="condition" name="condition" type="checkbox" value="@ViewData["Condition"]" />

如果选中,将始终发送默认值


参考:

它只需要是
@Html.CheckBox(“条件”)
,参数需要是
bool条件
(而不是
nullable
)。如果
条件
的值为真,复选框将显示为选中,否则将取消选中。但是我建议您使用视图模型并将其传递给视图,这样您就可以使用强类型的HtmlHelper-
@Html。CheckBoxFor(m=>m.Condition)
checked
是bool属性。它的存在确保了输入被检查。因此,如果为false,您不希望选中任何内容,因为它不应该在那里,即未选中的复选框将是
,而
将勾选该复选框,如果
已选中的
属性存在,则
也将勾选该复选框,不管值是多少,它都会被检查。非常感谢@BhavikPatel提供了这个非常详细的答案!帮帮我!
<input id="condition" type="checkbox" value="true" name="condition" />
<input type="hidden" value="false" name="condition" />
<input id="condition" name="condition" type="checkbox" value="@ViewData["Condition"]" />