我在数据库中保存了一个名为PermanentAddressChk的字段。
我需要为PermanentAddressChk字段显示2个复选框'是'和'否'。
以下代码可以正常工作,但是有更好的方法吗?欢迎新的想法,欢呼。
<br />@Html.Label("Yes")
@Html.CheckBoxFor(m => m.PermanentAddressChk, htmlAttributes: new { @checked = true })
<br />  @Html.Label("No")
@Html.CheckBoxFor(m => m.PermanentAddressChk, htmlAttributes: new { @checked = false})
答案 0 :(得分:2)
我知道你说你正在寻找两个复选框,但这里有一个是/否单选按钮的例子,如果有兴趣的话。
<div id="radioButtonDiv" >
@Html.LabelFor(model => model.PermanentAddressChk, "Is address permanent?")
<div>
@Html.RadioButtonFor(model => model.PermanentAddressChk, true, new { id = "isPermanentAddressTrue" }) @Html.Label("isPermanentAddressTrue", "Yes")
@Html.RadioButtonFor(model => model.PermanentAddressChk, false, new { id = "isPermanentAddressFalse" }) @Html.Label("isPermanentAddressFalse", "No")
</div>
</div>
这允许您使用单个PermanentAddressChk属性以及通过javascript的单个单选按钮值来引用控制器中的bool值。这也显示&#39;是/否&#39;旁边的单选按钮选项。
答案 1 :(得分:1)
你可以这样做:
查看=&gt;您只需要一个复选框,因为如果不检查,您将在控制器中收到错误。
<div class="form-group">
@Html.LabelFor(m => m.PermanentAddressChk, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(m => m.PermanentAddressChk)
@Html.ValidationMessageFor(m => m.Active)
</div>
</div>
在视图模型中插入:
[Display(Name = "Permanent Address ?")] // This will appear in your label
public bool PermanentAddressChk { get; set; }
Css =&gt;
.form-group {
margin-bottom: 15px;
}
.control-label {
padding-top: 7px;
margin-bottom: 0;
text-align: right;
margin-bottom: 0;
vertical-align: middle;
}