显示复选框是和复选框号

时间:2017-08-16 14:49:01

标签: asp.net-mvc

我在数据库中保存了一个名为PermanentAddressChk的字段。

我需要为PermanentAddressChk字段显示2个复选框'是'和'否'。

以下代码可以正常工作,但是有更好的方法吗?欢迎新的想法,欢呼。

<br />@Html.Label("Yes")
@Html.CheckBoxFor(m => m.PermanentAddressChk, htmlAttributes: new { @checked = true })
<br />&nbsp @Html.Label("No")
@Html.CheckBoxFor(m => m.PermanentAddressChk, htmlAttributes: new { @checked = false})

2 个答案:

答案 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;
}