【发布时间】:2020-07-08 20:51:53
【问题描述】:
当结果为 {false} 未选中且 {true,false} 已选中时,如何检查复选框值是否为真? 当我向助手添加 value="yes" 时,我得到 {yes,false} 以进行检查。 {侧边栏:微软出了什么问题,他们无法做到这一点?}
{版本:netcoreapp3.1、Microsoft.EntityFrameworkCore 3.1.5、Microsoft.VisualStudio.Web.CodeGeneration.Design 3.1.3、VS Enterprise 2019 16.6.3}
查看:
<div class="form-group form-check">
<label class="form-check-label">
<input class="form-check-input" asp-for="MyBoolValue" /> @Html.DisplayNameFor(model => model.MyBoolValue)
</label>
</div>
控制器:(带有 IFormCollection 表单)
if(form["MyBoolValue"].ToString() != "") // Does not work when the value is {false} not checked
{
DbTable.MyBoolValue = true;
}
else
{
DbTable.MyBoolValue = false;
}
我尝试了很多组合,例如:
if(Convert.ToBoolean(form["MyBoolValue"]) == true)
任何人都有一种简单的方法可以从复选框中始终如一地获得真假条件?
【问题讨论】:
-
这可能会对你有所帮助:stackoverflow.com/questions/57079165/…
-
这有效: DbTable.MyBoolValue = Convert.ToBoolean(form["MyBoolValue "][0]);或者这会起作用: if (form["MyBoolValue "][0].Equals("true")) {可能需要 ToString} 或 if(Convert.ToBoolean(form["MyBoolValue"][0]) == true)
标签: asp.net-mvc asp.net-core html-helper netcoreapp3.1