在我的课堂上,我有更多属性,并且在提交表格后检查时都具有良好的价值 所有变量都很好,除了总是假的bool。 有人能帮我吗? 我的班级:
public class Pilot
{
.....
public bool OwnerOrPart { get; set; }
.....
}
我的模特:
public class IardModel : RepositoryCollection
{
.......
public List<Pilot> Pilot { get; set; }
.....
public IardModel()
{
.....
Pilot = new List<Pilot>();
.....
}
}
控制器:
public ActionResult Aeronef(IardModel model, string id)
{
if (id != "") {
using (var scope = RepositoryContainer.Container.BeginLifetimeScope())
{
var repository = scope.Resolve();
model = repository.SingleById(id);
model.IsEditing = true;
return View(model);
}
}
model.IsEditing = false;
return View(model);
}
并且观点:
@if (Model.Pilot.Count == 0)
{
....
<section class="col col-md-2">
<label class="label-form">(Co)Propriétaire</label>
<label class="checkbox">
<input name="Pilot[0].OwnerOrPart" type="checkbox" class="form-control">
<i></i>
</label>
</section>
}
@foreach (var pilots in Model.Pilot)
{
....
<section class="col col-md-2">
<label class="label-form">(Co)Propriétaire</label>
<label class="checkbox">
<input name="Pilot[@(Model.Pilot.IndexOf(pilots))].OwnerOrPart" type="checkbox" class="form-control" @(pilots.OwnerOrPart ? "checked='checked'" : "")>
<i></i>
</label>
</section>
}
所有变量都很好,除了总是假的bool。 有人可以帮助我
答案 0 :(得分:0)
您可以使用@Html.CheckBoxFor(m => m.Pilot[0].OwnerOrPart, new {@class = "form-control"})
代替<input type="checkbox" />
修改强>
我已经写了与此相对应的代码,
@if (Model.Pilot.Count == 0)
{
....
<section class="col col-md-2">
<label class="label-form">(Co)Propriétaire</label>
<label class="checkbox">
@Html.CheckBoxFor(m => m.Pilot[0].OwnerOrPart, new {@class = "form-control"})
<i></i>
</label>
</section>
}
你可以简单地把它写成,
@for(int i=0; i < Model.Pilot.Count; i++){
....
<section class="col col-md-2">
<label class="label-form">(Co)Propriétaire</label>
<label class="checkbox">
@Html.CheckBoxFor(m => m.Pilot[i].OwnerOrPart, new {@class = "form-control"})
<i></i>
</label>
</section>
}
答案 1 :(得分:0)
您最好使用:<input ... @(pilots.OwnerOrPart ? "checked='true'" : "")>
看到这个
How do I set a checkbox in razor view?
这个
Proper usage of .net MVC Html.CheckBoxFor