2014-05-23 24 views
0

下面的代碼會給我一個True和False的頁面列表,一次在表格中。使用True和False填充一組複選框

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

這會給我一個真正的和錯誤的列表與一堆未勾選的複選框。

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

如何將True和False的值放入複選框?

+0

使用'@ Html.CheckBox(字符串名稱,bool isChecked)'方法的第二重載'方法 –

+0

不確定這是否意味着我的問題? – Bojangles

+0

傳遞屬性的值(true或false)作爲第二個參數,例如'@ Html.CheckBox(「Model.Runs [i] .RunGroomed」,Model.Runs [i] .RunGroomed)' –

回答

0

這就是答案,這是我想的第一件事情,但它給了一個錯誤,我們剛剛錯過了一件事,你把我在正確的軌道上,在(布爾)

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

它現在工作。

編輯

我想自己標記爲答案,但斯蒂芬完成所有的工作,所以我不能?

他的第二種方法對我來說效果更好,同時教會了我更多關於MVC的知識。我沒有意識到我可以強烈地輸入我自己製作的視圖模型。所以我想我應該分享。

我是用我認爲這個模型是這樣的:

@using mysite.Models 

因此不是強類型的,所以我無法使用CheckBoxFor(),並導致以複選框()

@model mysite.Models.RunReport 

RunReport是我的視圖模型

我現在可以使用強類型,

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