C# 根据条件将复选框设置为“已检入视图”

C# 根据条件将复选框设置为“已检入视图”,c#,asp.net-mvc,checkbox,checked,C#,Asp.net Mvc,Checkbox,Checked,我有一张物品清单 AAA.aListofObjects= (from tdrc in db.objectsDB where tdrc.objectID == id select tdrc).ToList(); 一个参数AAA.aListofObjects.check-保存正确或错误的数据 在内部视图中,我使用“for”呈现列表,其中我有“If”语句来

我有一张物品清单

        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)
}

    }
for(int i=0;imodeleItem.aListofObjects[i].check) } 其他的 { 未选中渲染复选框 @Html.CheckBoxFor(modeleItem=>modeleItem.aListofObjects[i].check) } } 在这种情况下,我怎样才能让他们检查呢?
@Html.CheckBoxFor(modeleItem=>modeleItem.aListofObjects[i].check,@checked=“checked”)
没有帮助


某些AlistofObject[i].check为“true”,当我选中html调试器时,我看到复选框的状态为value=“true”,但它仍然处于未选中状态。为什么?

在真实情况下,要选中复选框,您可以设置以下代码:

@Html.CheckBoxFor(modelItem => modelItem.aListofObjects[i].check, new { @checked = "checked" })
若要保留else条件复选框,请取消选中,您可以设置以下代码:

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

您可以获得有关@HTML的更多详细信息。CheckboxFor此处:

您是否可以将
某物等于某物的值绑定到复选框中,然后我必须将复选框呈现为选中状态?如果属性值为
true
,则复选框将被选中。如果其
为假
,则不会显示。这就是模型绑定的工作原理。您不需要和
if/else
块,也不设置
checked
属性(
CheckBoxFor()
方法根据属性值正确设置它)相关问题:&。
CheckBoxFor
的赋值是多余的,您应该在viewmodel属性上设置checked状态。正是我所说的。您还可以使用general
Html.EditorFor
。由于该属性是布尔值,因此它将呈现一个复选框。某些AlistOfObject[i]。check为“true”,当我选中html调试器时,我看到该复选框的状态为value=“true”,但它仍处于未选中状态。为什么?