我的類是模型綁定CheckboxFor與ICollection的
public partial class Team
{
public Team()
{
this.Trials = new HashSet<Trials>();
}
public int TeamId { get; set; }
public string TeamName { get; set; }
public string TeamDescription { get; set; }
public virtual ICollection<Trials> Trials { get; set; }
}
和視圖是
@model Project.Classes.Team
<td>
@for (int i = 0; i < Model.Trials.Count; i++)
{
@Html.DisplayFor(x => Model.Trials.ElementAt(i).Name)
@Html.HiddenFor(x => Model.Trials.ElementAt(i).Name)
@Html.HiddenFor(x => Model.Trials.ElementAt(i).TrialID)
@Html.CheckBoxFor(x => Model.Trials.ElementAt(i).isChk)
<br />
}
</td>
當視圖顯示它示出了該模型中的試驗對象(3個試驗)(球隊),並顯示錶單,但是當表單發佈然後在控制器中我沒有得到任何價值的試驗它顯示0試驗...我通過改變ICollection IList在類中,但是...團隊類是由EF自動生成,當項目重新運行它忘記了改變,所以我想用ICollection plz來做...
使用這種格式在循環中添加
tr
和td
元素:'@ Html.HiddenFor(X => x.Trials [I],請將.Name)' – 2014-10-08 07:24:32它說不能申請與索引[ ]到IColelction類型的表達式 – Khan 2014-10-08 07:30:11
你說你已經將它改成了'IList',這就是你需要的工作。或者,您可以爲'Trials'創建一個自定義的'EditorTemplate'並使用'@ Html.EditorFor(x => x.Trials)'(無循環) – 2014-10-08 07:36:37