@ Html.CheckboxFor不在mvc中显示

时间:2015-12-17 13:08:23

标签: asp.net-mvc

该复选框未显示在页面中。我在谷歌尝试了很多解决方案。没有任何效果。这是代码:

@model project.gamestatus

@using (Html.BeginForm("Create", "Calculator", FormMethod.Post, new { id = "frmID" }))
{

        //other codes

        <div class="form-group">
                @Html.Label("Show on Screen", htmlAttributes: new { @class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.CheckBoxFor(m => m.display_status)
                    @Html.ValidationMessageFor(model => model.display_status, "", new { @class = "text-danger" })
                </div>
            </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Create" class="btn btn-info" />
            </div>
        </div>
}

只有在页面i中显示复选框时,才能继续进行验证。在我看来,没有复选框

3 个答案:

答案 0 :(得分:1)

虽然它是一个非常古老的帖子,但我经历了这个问题todat,但是当我检查时发现CSS属性不透明度设置为0所以将其更改为1将解决问题

 @Html.EditorFor(model => model.Active, new { htmlAttributes = new { style = "opacity: 1" } })

答案 1 :(得分:0)

首先,您需要确保display_status模型是布尔类型,并为其分配显示名称以及任何验证。

[Display(Name="CheckBox Display Name")]
[Required]
public bool display_status { get; set; }

另外,@ Html.CheckBoxFor不支持复选框的标签。因此,您可以使用@ Html.LabelFor选中复选框的标签,如下所示:

<div class="form-group">
    @Html.Label("Show on Screen", htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.CheckBoxFor(m => m.display_status)
        @Html.LabelFor(m => m.display_status)
        @Html.ValidationMessageFor(m => m.display_status, "", new { @class = "text-danger" })
    </div>
</div>

答案 2 :(得分:0)

我通过明确地将高度设置为20px来解决问题。当我检查页面时,它被设置为20%:

@ Html.CheckBoxFor(m =&gt; m.ExistingUser,new {style =“height:20px”})