首页 > 解决方案 > 根据条件将复选框设置为签入视图

问题描述

我有对象列表

        AAA.aListofObjects= (from tdrc in db.objectsDB
                                      where tdrc.objectID == id
                           select tdrc).ToList();

一个参数 AAA.aListofObjects.check - 保存真或假数据。

在内部视图中,我使用“for”呈现我的列表,其中我有“If”语句来决定是否选中复选框

            @for (int i = 0; i < Model.aListofObjects.Count; i++)
    {
if(something equals something then I must render checkbox as checked)
{
 @Html.CheckBoxFor(modelItem => modelItem.aListofObjects[i].check)
}
else 
{
render unchecked checkbox
 @Html.CheckBoxFor(modelItem => modelItem.aListofObjects[i].check)
}

    }

现在我怎样才能让他们在这种情况下检查? @Html.CheckBoxFor(modelItem => modelItem.aListofObjects[i].check, @checked="checked")没有帮助。

一些 aListofObjects[i].check 是“true”,当我检查 html 调试器时,我看到该复选框具有 value="true" 状态,但它仍然未被选中。为什么 ?

标签: c#asp.net-mvccheckboxchecked

解决方案


在勾选复选框的真实条件下,您可以设置以下代码:

@Html.CheckBoxFor(modelItem => modelItem.aListofObjects[i].check, new { @checked = "checked" })

对于其他条件保持复选框取消选中,您可以设置以下代码:

@Html.CheckBoxFor(modelItem => modelItem.aListofObjects[i].check)

您可以在此处获得有关@HTML.CheckboxFor的更多详细信息:正确使用 .net MVC Html.CheckBoxFor在此处输入链接描述


推荐阅读