使用True和False填充一组复选框

时间:2014-05-23 01:45:29

标签: asp.net-mvc razor checkbox

以下代码会在页面中给出一个True和False列表,一次在表格中。

@for (int i = 0; i < Model.Runs.Count; i++)
{ 
    @Model.Runs[i].RunGroomed
}

这会给我一个True和False的列表,旁边有一堆未经检查的复选框。

@for (int i = 0; i < Model.Runs.Count; i++)
{ 
    @Model.Runs[i].RunGroomed
    @Html.CheckBox("Model.Runs[i].RunGroomed")
}

如何将True和False的值放入复选框?

1 个答案:

答案 0 :(得分:0)

这就是答案,这是我尝试的第一件事,但它给出了一个错误,我们错过了一件事,你让我走上了正确的轨道,(布尔)

@Html.CheckBox("Model.Runs[i].RunGroomed", (bool)Model.Runs[i].RunGroomed)

现在正在运作。

修改

我想把自己标记为答案,但斯蒂芬完成了所有的工作,所以我不能这样做?

他的第二种方法对我来说效果更好,并且同时教会了我更多关于MVC的知识。我没有意识到我可以强烈地键入我自己的自制视图模型。所以我认为我应该分享。

我在View中使用的模型如下所示:

@using mysite.Models

因此没有强类型,所以我无法使用CheckBoxFor()并导致CheckBox()

@model mysite.Models.RunReport

RunReport是我的视图模型

我现在能够使用强类型

@foreach(var item in Model.Runs) 
{ 
    @Html.CheckBoxFor(i => item.RunGroomed) 
}