我有一个具有 bool 属性的模型。在编辑 View 中,它显示为我不理解的文本类型的文本字段。在 documentation它指出 bool 输入应显示该类型的复选框。
型号:
public class Person
{ ...
public bool? boolprop {get; set;}
}
编辑.cshtml:
{ ...
<div class="form-group">
<label asp-for="boolprop" class="control-label"></label>
<input asp-for="boolprop" class="form-control" />
<span asp-validation-for="boolprop" class="text-danger"></span>
</div>
}
生成的html:
<input class="form-control" type="text" id="boolprop" name="boolprop" value="True">
有什么想法可以让复选框与输入标签助手一起显示吗?
最佳答案
您可以通过这样做来获取三态列表(未设置、true、false):
Html.InputFor(x=>x.boolprop)
当然,可为 null 的 bool 值 (bool?
) 和 bool 值不是同一回事。我同意标签帮助器输出不是特别直观,但微软表示这是设计使然:
https://github.com/aspnet/Mvc/issues/5667#issuecomment-271394567
It's by design.
Imagine for example what it would mean for a bool? property to result in a checkbox . How could a user choose null when they submit a form?
关于c# - .net core 2表单输入表单标签帮助器用于 bool 类型不生成复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49838645/