0

我在尝试在部分视图上呈现复选框时遇到了困难。基本上,我想要的是根据从数据库中提取的值来呈现复选框。请在下面查看我的代码:

        <div class="editor-label">
            @Html.LabelFor(model => model.Active)
        </div>
        <div class="editor-field">
            @{if (Model.Active == 'Y')
              { Html.CheckBox("Active", true); }
              else
              { Html.CheckBox("Active", true); }
                }
        </div>

在此代码块中,我正在检查模型中 Active 字段内的值,并根据该值将 checkBox 的 isChecked 属性呈现为 true 或 false。

我已经调试了这段代码并使用了断点。我的数据库中有一个“Y”值,它确实通过了 if 语句。但是,当表单弹出时,复选框没有呈现。

有人可以帮帮我吗?谢谢!

4

1 回答 1

1

我认为您的主要问题可能是因为您有@{而不是@在 if.. 之前尝试删除它。

另外,为了让事情更容易..在您的视图模型上创建一个新属性:

public bool IsActive
{
    get { return Active == "Y"; }
}

然后在您看来,使用Html.CheckBoxFor(m=> m.IsActive)

于 2012-07-20T01:12:38.437 回答