mvc 4 asp.net c#将布尔值从控制器传递到视图
如何使用以下方法从控制器向视图中的复选框获取布尔值或true或false: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
@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"]" />