@Html.CheckboxFor不在mvc中显示

Nox*_*ile 5 asp.net-mvc

该复选框未显示在页面中。我在google上尝试了很多解决方案。什么都没起作用。这是代码:

@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>
}
Run Code Online (Sandbox Code Playgroud)

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

vin*_*sty 2

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

[Display(Name="CheckBox Display Name")]
[Required]
public bool display_status { get; set; }
Run Code Online (Sandbox Code Playgroud)

另外,@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>
Run Code Online (Sandbox Code Playgroud)